From a66aeade45d6ae0a2d9d49f2327957b522a3116d Mon Sep 17 00:00:00 2001 From: senke Date: Sun, 26 Apr 2026 00:02:58 +0200 Subject: [PATCH] =?UTF-8?q?chore(web):=20drop=20legacy=20openapi-generator?= =?UTF-8?q?-cli=20=E2=80=94=20orval=20is=20the=20single=20source=20(v1.0.8?= =?UTF-8?q?=20B9)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Closes Phase 3 of the v1.0.8 OpenAPI typegen migration. With the four feature-service migrations (B2 dashboard, B3 profile, B4 playlist, B5 track, B6 partial auth) landed, the four remaining importers of the legacy typescript-axios output were all consuming pure model types — easily portable to the equivalent orval-generated models under src/services/generated/model/. Type imports re-pointed (4 sites): - src/types/index.ts — VezaBackendApiInternalModelsUser / Track / TrackStatus / Playlist - src/types/api.ts — same trio (Track / TrackStatus / User) - src/features/auth/types/index.ts — TokenResponse + ResendVerificationRequest - src/features/tracks/types/track.ts — Track / TrackStatus Same shapes, sourced from openapi.yaml — orval and the legacy generator were emitting structurally-identical interfaces because swaggo's spec is the common source. Verified by `npm run typecheck` clean and 1187/1188 tests green (1 skipped is the long-standing ResetPasswordPage flake). Cleanup performed: 1. `git rm -rf apps/web/src/types/generated/` — 198 files / ~23k LOC of auto-generated typescript-axios output gone. 2. `npm uninstall @openapitools/openapi-generator-cli` — drops the ~150 MB Java-bundled dependency tree from node_modules. 3. `apps/web/scripts/generate-types.sh` — collapsed from a two-step "[1/2] legacy / [2/2] orval" pipeline to a single orval call. 4. `apps/web/scripts/check-types-sync.sh` — now diffs only `src/services/generated/`. The "regenerate two trees" complexity is gone. 5. `.husky/pre-commit` — message updated to point at the new tree. Knock-on: the pre-commit hook should run noticeably faster (no Java JVM spin-up to invoke openapi-generator-cli on every commit), and a fresh `npm install` is leaner. Not yet removed (still active under hand-written services): - services/api/{auth,users,tracks,playlists,queue,search,social}.ts — these wrap features//api/* services and remain in use by 2-15 callers each. They live in the orval-driven world (their underlying calls go through orval mutator) and don't import the legacy types, so they're safe parallel surfaces. Consolidation punted to v1.0.9 once all auth/queue endpoints are annotated and the remaining authService 5/9 functions ship. Co-Authored-By: Claude Opus 4.7 (1M context) --- .husky/pre-commit | 4 +- apps/web/package.json | 1 - apps/web/scripts/check-types-sync.sh | 23 +- apps/web/scripts/generate-types.sh | 41 +- apps/web/src/features/auth/types/index.ts | 8 +- apps/web/src/features/tracks/types/track.ts | 5 +- apps/web/src/types/api.ts | 6 +- apps/web/src/types/generated/.gitignore | 4 - apps/web/src/types/generated/.npmignore | 1 - .../types/generated/.openapi-generator-ignore | 23 - .../types/generated/.openapi-generator/FILES | 181 - .../generated/.openapi-generator/VERSION | 1 - apps/web/src/types/generated/api.ts | 11036 ---------------- apps/web/src/types/generated/base.ts | 62 - apps/web/src/types/generated/common.ts | 113 - apps/web/src/types/generated/configuration.ts | 121 - .../src/types/generated/docs/AnalyticsApi.md | 473 - .../docs/AnalyticsEventsPost200Response.md | 24 - ...AnalyticsEventsPost200ResponseAllOfData.md | 20 - .../generated/docs/AnalyticsGet200Response.md | 24 - .../docs/AnalyticsGet200ResponseAllOfData.md | 24 - .../docs/AnalyticsTracksIdGet200Response.md | 24 - ...nalyticsTracksIdGet200ResponseAllOfData.md | 20 - .../docs/AnalyticsTracksTopGet200Response.md | 24 - ...alyticsTracksTopGet200ResponseAllOfData.md | 20 - .../docs/ApiV1DashboardGet200Response.md | 24 - .../docs/ApiV1LogsFrontendPost200Response.md | 24 - ...iV1LogsFrontendPost200ResponseAllOfData.md | 20 - .../docs/AuditActivityGet200Response.md | 24 - .../AuditActivityGet200ResponseAllOfData.md | 20 - apps/web/src/types/generated/docs/AuditApi.md | 201 - .../generated/docs/AuditLogsGet200Response.md | 24 - .../docs/AuditLogsGet200ResponseAllOfData.md | 22 - .../docs/AuditStatsGet200Response.md | 24 - .../docs/AuditStatsGet200ResponseAllOfData.md | 20 - .../docs/Auth2faDisablePost200Response.md | 24 - .../Auth2faDisablePost200ResponseAllOfData.md | 20 - .../docs/Auth2faSetupPost200Response.md | 24 - .../docs/Auth2faStatusGet200Response.md | 24 - .../Auth2faStatusGet200ResponseAllOfData.md | 20 - apps/web/src/types/generated/docs/AuthApi.md | 690 - .../docs/AuthCheckUsernameGet200Response.md | 24 - ...uthCheckUsernameGet200ResponseAllOfData.md | 22 - .../generated/docs/AuthLogoutPostRequest.md | 20 - .../generated/docs/AuthMeGet200Response.md | 24 - apps/web/src/types/generated/docs/ChatApi.md | 54 - .../generated/docs/ChatTokenGet200Response.md | 24 - .../docs/ChatTokenGet200ResponseAllOfData.md | 20 - .../src/types/generated/docs/CommentApi.md | 309 - .../docs/CommentsIdPut200Response.md | 24 - .../docs/CommentsIdPut200ResponseAllOfData.md | 20 - .../docs/CommentsIdRepliesGet200Response.md | 24 - ...ommentsIdRepliesGet200ResponseAllOfData.md | 22 - .../src/types/generated/docs/DashboardApi.md | 67 - .../InternalCoreTrackBatchDeleteRequest.md | 20 - .../InternalCoreTrackBatchUpdateRequest.md | 22 - ...alCoreTrackCompleteChunkedUploadRequest.md | 20 - .../InternalCoreTrackCreateShareRequest.md | 22 - ...alCoreTrackInitiateChunkedUploadRequest.md | 24 - .../InternalCoreTrackRecordPlayRequest.md | 20 - .../InternalCoreTrackStreamCallbackRequest.md | 24 - .../InternalCoreTrackUpdateLyricsRequest.md | 20 - .../InternalCoreTrackUpdateTrackRequest.md | 38 - .../docs/InternalHandlersAPIResponse.md | 24 - .../InternalHandlersAddCollaboratorRequest.md | 22 - .../InternalHandlersCreateCommentRequest.md | 24 - .../InternalHandlersCreateOrderRequest.md | 22 - ...nalHandlersCreateOrderRequestItemsInner.md | 20 - .../InternalHandlersCreatePlaylistRequest.md | 24 - .../InternalHandlersCreateProductRequest.md | 38 - ...ndlersCreateProductRequestLicensesInner.md | 24 - .../docs/InternalHandlersDashboardResponse.md | 24 - .../docs/InternalHandlersDashboardStats.md | 36 - .../InternalHandlersDeleteAccountRequest.md | 26 - ...InternalHandlersDisableTwoFactorRequest.md | 20 - .../InternalHandlersFrontendLogRequest.md | 28 - .../InternalHandlersImportPlaylistRequest.md | 22 - ...alHandlersImportPlaylistRequestPlaylist.md | 24 - ...andlersImportPlaylistRequestTracksInner.md | 20 - .../docs/InternalHandlersLibraryPreview.md | 24 - .../docs/InternalHandlersRecentActivity.md | 32 - .../InternalHandlersRecordEventRequest.md | 22 - .../docs/InternalHandlersRecordPlayRequest.md | 22 - .../InternalHandlersReorderTracksRequest.md | 20 - .../InternalHandlersSetupTwoFactorResponse.md | 24 - .../InternalHandlersStreamTokenResponse.md | 22 - .../docs/InternalHandlersTrackPreview.md | 34 - ...lersUpdateCollaboratorPermissionRequest.md | 20 - .../InternalHandlersUpdateCommentRequest.md | 20 - .../InternalHandlersUpdatePlaylistRequest.md | 24 - .../InternalHandlersUpdateProductRequest.md | 34 - .../InternalHandlersUpdateProfileRequest.md | 38 - .../docs/InternalHandlersValidateRequest.md | 22 - .../docs/InternalHandlersValidateResponse.md | 24 - .../InternalHandlersVerifyTwoFactorRequest.md | 22 - .../src/types/generated/docs/LoggingApi.md | 62 - .../types/generated/docs/MarketplaceApi.md | 407 - .../src/types/generated/docs/PlaylistApi.md | 1147 -- .../generated/docs/PlaylistsGet200Response.md | 24 - .../docs/PlaylistsGet200ResponseAllOfData.md | 22 - .../PlaylistsIdCollaboratorsGet200Response.md | 24 - ...sIdCollaboratorsGet200ResponseAllOfData.md | 20 - ...PlaylistsIdCollaboratorsPost200Response.md | 24 - ...IdCollaboratorsPost200ResponseAllOfData.md | 20 - .../docs/PlaylistsIdSharePost200Response.md | 24 - ...laylistsIdSharePost200ResponseAllOfData.md | 20 - .../docs/PlaylistsIdTracksPostRequest.md | 20 - .../docs/PlaylistsPost201Response.md | 24 - .../docs/PlaylistsPost201ResponseAllOfData.md | 20 - .../PlaylistsRecommendationsGet200Response.md | 24 - ...sRecommendationsGet200ResponseAllOfData.md | 20 - apps/web/src/types/generated/docs/TrackApi.md | 2057 --- .../docs/TracksBatchDeletePost200Response.md | 24 - ...acksBatchDeletePost200ResponseAllOfData.md | 22 - .../docs/TracksBatchUpdatePost200Response.md | 24 - ...acksBatchUpdatePost200ResponseAllOfData.md | 22 - .../docs/TracksChunkPost200Response.md | 24 - .../TracksChunkPost200ResponseAllOfData.md | 26 - .../docs/TracksCompletePost201Response.md | 24 - .../TracksCompletePost201ResponseAllOfData.md | 24 - .../generated/docs/TracksGet200Response.md | 24 - .../docs/TracksGet200ResponseAllOfData.md | 22 - .../TracksIdAnalyticsPlaysGet200Response.md | 24 - ...IdAnalyticsPlaysGet200ResponseAllOfData.md | 20 - .../docs/TracksIdCommentsGet200Response.md | 24 - ...TracksIdCommentsGet200ResponseAllOfData.md | 22 - .../docs/TracksIdDelete200Response.md | 24 - .../docs/TracksIdHistoryGet200Response.md | 24 - .../TracksIdHistoryGet200ResponseAllOfData.md | 26 - .../docs/TracksIdLikePost200Response.md | 24 - .../docs/TracksIdLikesGet200Response.md | 24 - .../TracksIdLikesGet200ResponseAllOfData.md | 22 - .../docs/TracksIdLyricsGet200Response.md | 24 - .../TracksIdLyricsGet200ResponseAllOfData.md | 20 - .../docs/TracksIdPlayPost200Response.md | 24 - .../TracksIdPlayPost200ResponseAllOfData.md | 22 - .../docs/TracksIdRepostGet200Response.md | 24 - .../TracksIdRepostGet200ResponseAllOfData.md | 20 - .../docs/TracksIdSharePost200Response.md | 24 - .../docs/TracksIdStatsGet200Response.md | 24 - .../docs/TracksIdStatusGet200Response.md | 24 - .../TracksIdStatusGet200ResponseAllOfData.md | 20 - .../docs/TracksInitiatePost200Response.md | 24 - .../TracksInitiatePost200ResponseAllOfData.md | 22 - .../generated/docs/TracksPost201Response.md | 24 - .../docs/TracksPost201ResponseAllOfData.md | 20 - .../docs/TracksQuotaIdGet200Response.md | 24 - .../TracksQuotaIdGet200ResponseAllOfData.md | 20 - .../TracksRecommendationsGet200Response.md | 24 - ...sRecommendationsGet200ResponseAllOfData.md | 20 - .../TracksResumeUploadIdGet200Response.md | 24 - ...ksResumeUploadIdGet200ResponseAllOfData.md | 22 - .../docs/TracksSharedTokenGet200Response.md | 24 - ...racksSharedTokenGet200ResponseAllOfData.md | 22 - .../docs/TracksSuggestedTagsGet200Response.md | 24 - ...cksSuggestedTagsGet200ResponseAllOfData.md | 20 - apps/web/src/types/generated/docs/UserApi.md | 815 -- apps/web/src/types/generated/docs/UsersApi.md | 110 - .../generated/docs/UsersGet200Response.md | 24 - .../docs/UsersGet200ResponseAllOfData.md | 22 - .../generated/docs/UsersIdGet200Response.md | 24 - .../docs/UsersIdGet200ResponseAllOfData.md | 20 - .../docs/UsersIdLikesGet200Response.md | 24 - .../UsersIdLikesGet200ResponseAllOfData.md | 26 - .../docs/UsersSearchGet200Response.md | 24 - .../UsersSearchGet200ResponseAllOfData.md | 22 - .../docs/UsersSuggestionsGet200Response.md | 24 - ...UsersSuggestionsGet200ResponseAllOfData.md | 20 - .../src/types/generated/docs/ValidationApi.md | 61 - ...ndApiInternalCoreMarketplaceLicenseType.md | 12 - ...aBackendApiInternalCoreMarketplaceOrder.md | 46 - ...kendApiInternalCoreMarketplaceOrderItem.md | 26 - ...ackendApiInternalCoreMarketplaceProduct.md | 58 - ...dApiInternalCoreMarketplaceProductImage.md | 28 - ...piInternalCoreMarketplaceProductLicense.md | 30 - ...piInternalCoreMarketplaceProductPreview.md | 28 - ...ApiInternalCoreMarketplaceProductStatus.md | 12 - .../VezaBackendApiInternalDtoLoginRequest.md | 24 - .../VezaBackendApiInternalDtoLoginResponse.md | 24 - ...VezaBackendApiInternalDtoRefreshRequest.md | 20 - ...ezaBackendApiInternalDtoRegisterRequest.md | 26 - ...zaBackendApiInternalDtoRegisterResponse.md | 22 - ...ApiInternalDtoResendVerificationRequest.md | 20 - .../VezaBackendApiInternalDtoTokenResponse.md | 24 - .../VezaBackendApiInternalDtoUserResponse.md | 24 - ...ezaBackendApiInternalDtoValidationError.md | 24 - ...zaBackendApiInternalHandlersAPIResponse.md | 24 - .../VezaBackendApiInternalModelsPlaylist.md | 46 - ...ndApiInternalModelsPlaylistCollaborator.md | 32 - ...kendApiInternalModelsPlaylistPermission.md | 12 - ...zaBackendApiInternalModelsPlaylistTrack.md | 32 - .../docs/VezaBackendApiInternalModelsTrack.md | 72 - ...VezaBackendApiInternalModelsTrackStatus.md | 14 - .../docs/VezaBackendApiInternalModelsUser.md | 74 - ...zaBackendApiInternalResponseAPIResponse.md | 24 - .../src/types/generated/docs/WebhookApi.md | 322 - .../generated/docs/WebhooksGet200Response.md | 24 - .../docs/WebhooksGet200ResponseAllOfData.md | 20 - .../WebhooksIdRegenerateKeyPost200Response.md | 24 - ...IdRegenerateKeyPost200ResponseAllOfData.md | 22 - .../generated/docs/WebhooksPost201Response.md | 24 - .../docs/WebhooksPost201ResponseAllOfData.md | 20 - apps/web/src/types/generated/git_push.sh | 57 - apps/web/src/types/generated/index.ts | 8 - apps/web/src/types/index.ts | 12 +- package-lock.json | 923 -- 206 files changed, 33 insertions(+), 23540 deletions(-) delete mode 100644 apps/web/src/types/generated/.gitignore delete mode 100644 apps/web/src/types/generated/.npmignore delete mode 100644 apps/web/src/types/generated/.openapi-generator-ignore delete mode 100644 apps/web/src/types/generated/.openapi-generator/FILES delete mode 100644 apps/web/src/types/generated/.openapi-generator/VERSION delete mode 100644 apps/web/src/types/generated/api.ts delete mode 100644 apps/web/src/types/generated/base.ts delete mode 100644 apps/web/src/types/generated/common.ts delete mode 100644 apps/web/src/types/generated/configuration.ts delete mode 100644 apps/web/src/types/generated/docs/AnalyticsApi.md delete mode 100644 apps/web/src/types/generated/docs/AnalyticsEventsPost200Response.md delete mode 100644 apps/web/src/types/generated/docs/AnalyticsEventsPost200ResponseAllOfData.md delete mode 100644 apps/web/src/types/generated/docs/AnalyticsGet200Response.md delete mode 100644 apps/web/src/types/generated/docs/AnalyticsGet200ResponseAllOfData.md delete mode 100644 apps/web/src/types/generated/docs/AnalyticsTracksIdGet200Response.md delete mode 100644 apps/web/src/types/generated/docs/AnalyticsTracksIdGet200ResponseAllOfData.md delete mode 100644 apps/web/src/types/generated/docs/AnalyticsTracksTopGet200Response.md delete mode 100644 apps/web/src/types/generated/docs/AnalyticsTracksTopGet200ResponseAllOfData.md delete mode 100644 apps/web/src/types/generated/docs/ApiV1DashboardGet200Response.md delete mode 100644 apps/web/src/types/generated/docs/ApiV1LogsFrontendPost200Response.md delete mode 100644 apps/web/src/types/generated/docs/ApiV1LogsFrontendPost200ResponseAllOfData.md delete mode 100644 apps/web/src/types/generated/docs/AuditActivityGet200Response.md delete mode 100644 apps/web/src/types/generated/docs/AuditActivityGet200ResponseAllOfData.md delete mode 100644 apps/web/src/types/generated/docs/AuditApi.md delete mode 100644 apps/web/src/types/generated/docs/AuditLogsGet200Response.md delete mode 100644 apps/web/src/types/generated/docs/AuditLogsGet200ResponseAllOfData.md delete mode 100644 apps/web/src/types/generated/docs/AuditStatsGet200Response.md delete mode 100644 apps/web/src/types/generated/docs/AuditStatsGet200ResponseAllOfData.md delete mode 100644 apps/web/src/types/generated/docs/Auth2faDisablePost200Response.md delete mode 100644 apps/web/src/types/generated/docs/Auth2faDisablePost200ResponseAllOfData.md delete mode 100644 apps/web/src/types/generated/docs/Auth2faSetupPost200Response.md delete mode 100644 apps/web/src/types/generated/docs/Auth2faStatusGet200Response.md delete mode 100644 apps/web/src/types/generated/docs/Auth2faStatusGet200ResponseAllOfData.md delete mode 100644 apps/web/src/types/generated/docs/AuthApi.md delete mode 100644 apps/web/src/types/generated/docs/AuthCheckUsernameGet200Response.md delete mode 100644 apps/web/src/types/generated/docs/AuthCheckUsernameGet200ResponseAllOfData.md delete mode 100644 apps/web/src/types/generated/docs/AuthLogoutPostRequest.md delete mode 100644 apps/web/src/types/generated/docs/AuthMeGet200Response.md delete mode 100644 apps/web/src/types/generated/docs/ChatApi.md delete mode 100644 apps/web/src/types/generated/docs/ChatTokenGet200Response.md delete mode 100644 apps/web/src/types/generated/docs/ChatTokenGet200ResponseAllOfData.md delete mode 100644 apps/web/src/types/generated/docs/CommentApi.md delete mode 100644 apps/web/src/types/generated/docs/CommentsIdPut200Response.md delete mode 100644 apps/web/src/types/generated/docs/CommentsIdPut200ResponseAllOfData.md delete mode 100644 apps/web/src/types/generated/docs/CommentsIdRepliesGet200Response.md delete mode 100644 apps/web/src/types/generated/docs/CommentsIdRepliesGet200ResponseAllOfData.md delete mode 100644 apps/web/src/types/generated/docs/DashboardApi.md delete mode 100644 apps/web/src/types/generated/docs/InternalCoreTrackBatchDeleteRequest.md delete mode 100644 apps/web/src/types/generated/docs/InternalCoreTrackBatchUpdateRequest.md delete mode 100644 apps/web/src/types/generated/docs/InternalCoreTrackCompleteChunkedUploadRequest.md delete mode 100644 apps/web/src/types/generated/docs/InternalCoreTrackCreateShareRequest.md delete mode 100644 apps/web/src/types/generated/docs/InternalCoreTrackInitiateChunkedUploadRequest.md delete mode 100644 apps/web/src/types/generated/docs/InternalCoreTrackRecordPlayRequest.md delete mode 100644 apps/web/src/types/generated/docs/InternalCoreTrackStreamCallbackRequest.md delete mode 100644 apps/web/src/types/generated/docs/InternalCoreTrackUpdateLyricsRequest.md delete mode 100644 apps/web/src/types/generated/docs/InternalCoreTrackUpdateTrackRequest.md delete mode 100644 apps/web/src/types/generated/docs/InternalHandlersAPIResponse.md delete mode 100644 apps/web/src/types/generated/docs/InternalHandlersAddCollaboratorRequest.md delete mode 100644 apps/web/src/types/generated/docs/InternalHandlersCreateCommentRequest.md delete mode 100644 apps/web/src/types/generated/docs/InternalHandlersCreateOrderRequest.md delete mode 100644 apps/web/src/types/generated/docs/InternalHandlersCreateOrderRequestItemsInner.md delete mode 100644 apps/web/src/types/generated/docs/InternalHandlersCreatePlaylistRequest.md delete mode 100644 apps/web/src/types/generated/docs/InternalHandlersCreateProductRequest.md delete mode 100644 apps/web/src/types/generated/docs/InternalHandlersCreateProductRequestLicensesInner.md delete mode 100644 apps/web/src/types/generated/docs/InternalHandlersDashboardResponse.md delete mode 100644 apps/web/src/types/generated/docs/InternalHandlersDashboardStats.md delete mode 100644 apps/web/src/types/generated/docs/InternalHandlersDeleteAccountRequest.md delete mode 100644 apps/web/src/types/generated/docs/InternalHandlersDisableTwoFactorRequest.md delete mode 100644 apps/web/src/types/generated/docs/InternalHandlersFrontendLogRequest.md delete mode 100644 apps/web/src/types/generated/docs/InternalHandlersImportPlaylistRequest.md delete mode 100644 apps/web/src/types/generated/docs/InternalHandlersImportPlaylistRequestPlaylist.md delete mode 100644 apps/web/src/types/generated/docs/InternalHandlersImportPlaylistRequestTracksInner.md delete mode 100644 apps/web/src/types/generated/docs/InternalHandlersLibraryPreview.md delete mode 100644 apps/web/src/types/generated/docs/InternalHandlersRecentActivity.md delete mode 100644 apps/web/src/types/generated/docs/InternalHandlersRecordEventRequest.md delete mode 100644 apps/web/src/types/generated/docs/InternalHandlersRecordPlayRequest.md delete mode 100644 apps/web/src/types/generated/docs/InternalHandlersReorderTracksRequest.md delete mode 100644 apps/web/src/types/generated/docs/InternalHandlersSetupTwoFactorResponse.md delete mode 100644 apps/web/src/types/generated/docs/InternalHandlersStreamTokenResponse.md delete mode 100644 apps/web/src/types/generated/docs/InternalHandlersTrackPreview.md delete mode 100644 apps/web/src/types/generated/docs/InternalHandlersUpdateCollaboratorPermissionRequest.md delete mode 100644 apps/web/src/types/generated/docs/InternalHandlersUpdateCommentRequest.md delete mode 100644 apps/web/src/types/generated/docs/InternalHandlersUpdatePlaylistRequest.md delete mode 100644 apps/web/src/types/generated/docs/InternalHandlersUpdateProductRequest.md delete mode 100644 apps/web/src/types/generated/docs/InternalHandlersUpdateProfileRequest.md delete mode 100644 apps/web/src/types/generated/docs/InternalHandlersValidateRequest.md delete mode 100644 apps/web/src/types/generated/docs/InternalHandlersValidateResponse.md delete mode 100644 apps/web/src/types/generated/docs/InternalHandlersVerifyTwoFactorRequest.md delete mode 100644 apps/web/src/types/generated/docs/LoggingApi.md delete mode 100644 apps/web/src/types/generated/docs/MarketplaceApi.md delete mode 100644 apps/web/src/types/generated/docs/PlaylistApi.md delete mode 100644 apps/web/src/types/generated/docs/PlaylistsGet200Response.md delete mode 100644 apps/web/src/types/generated/docs/PlaylistsGet200ResponseAllOfData.md delete mode 100644 apps/web/src/types/generated/docs/PlaylistsIdCollaboratorsGet200Response.md delete mode 100644 apps/web/src/types/generated/docs/PlaylistsIdCollaboratorsGet200ResponseAllOfData.md delete mode 100644 apps/web/src/types/generated/docs/PlaylistsIdCollaboratorsPost200Response.md delete mode 100644 apps/web/src/types/generated/docs/PlaylistsIdCollaboratorsPost200ResponseAllOfData.md delete mode 100644 apps/web/src/types/generated/docs/PlaylistsIdSharePost200Response.md delete mode 100644 apps/web/src/types/generated/docs/PlaylistsIdSharePost200ResponseAllOfData.md delete mode 100644 apps/web/src/types/generated/docs/PlaylistsIdTracksPostRequest.md delete mode 100644 apps/web/src/types/generated/docs/PlaylistsPost201Response.md delete mode 100644 apps/web/src/types/generated/docs/PlaylistsPost201ResponseAllOfData.md delete mode 100644 apps/web/src/types/generated/docs/PlaylistsRecommendationsGet200Response.md delete mode 100644 apps/web/src/types/generated/docs/PlaylistsRecommendationsGet200ResponseAllOfData.md delete mode 100644 apps/web/src/types/generated/docs/TrackApi.md delete mode 100644 apps/web/src/types/generated/docs/TracksBatchDeletePost200Response.md delete mode 100644 apps/web/src/types/generated/docs/TracksBatchDeletePost200ResponseAllOfData.md delete mode 100644 apps/web/src/types/generated/docs/TracksBatchUpdatePost200Response.md delete mode 100644 apps/web/src/types/generated/docs/TracksBatchUpdatePost200ResponseAllOfData.md delete mode 100644 apps/web/src/types/generated/docs/TracksChunkPost200Response.md delete mode 100644 apps/web/src/types/generated/docs/TracksChunkPost200ResponseAllOfData.md delete mode 100644 apps/web/src/types/generated/docs/TracksCompletePost201Response.md delete mode 100644 apps/web/src/types/generated/docs/TracksCompletePost201ResponseAllOfData.md delete mode 100644 apps/web/src/types/generated/docs/TracksGet200Response.md delete mode 100644 apps/web/src/types/generated/docs/TracksGet200ResponseAllOfData.md delete mode 100644 apps/web/src/types/generated/docs/TracksIdAnalyticsPlaysGet200Response.md delete mode 100644 apps/web/src/types/generated/docs/TracksIdAnalyticsPlaysGet200ResponseAllOfData.md delete mode 100644 apps/web/src/types/generated/docs/TracksIdCommentsGet200Response.md delete mode 100644 apps/web/src/types/generated/docs/TracksIdCommentsGet200ResponseAllOfData.md delete mode 100644 apps/web/src/types/generated/docs/TracksIdDelete200Response.md delete mode 100644 apps/web/src/types/generated/docs/TracksIdHistoryGet200Response.md delete mode 100644 apps/web/src/types/generated/docs/TracksIdHistoryGet200ResponseAllOfData.md delete mode 100644 apps/web/src/types/generated/docs/TracksIdLikePost200Response.md delete mode 100644 apps/web/src/types/generated/docs/TracksIdLikesGet200Response.md delete mode 100644 apps/web/src/types/generated/docs/TracksIdLikesGet200ResponseAllOfData.md delete mode 100644 apps/web/src/types/generated/docs/TracksIdLyricsGet200Response.md delete mode 100644 apps/web/src/types/generated/docs/TracksIdLyricsGet200ResponseAllOfData.md delete mode 100644 apps/web/src/types/generated/docs/TracksIdPlayPost200Response.md delete mode 100644 apps/web/src/types/generated/docs/TracksIdPlayPost200ResponseAllOfData.md delete mode 100644 apps/web/src/types/generated/docs/TracksIdRepostGet200Response.md delete mode 100644 apps/web/src/types/generated/docs/TracksIdRepostGet200ResponseAllOfData.md delete mode 100644 apps/web/src/types/generated/docs/TracksIdSharePost200Response.md delete mode 100644 apps/web/src/types/generated/docs/TracksIdStatsGet200Response.md delete mode 100644 apps/web/src/types/generated/docs/TracksIdStatusGet200Response.md delete mode 100644 apps/web/src/types/generated/docs/TracksIdStatusGet200ResponseAllOfData.md delete mode 100644 apps/web/src/types/generated/docs/TracksInitiatePost200Response.md delete mode 100644 apps/web/src/types/generated/docs/TracksInitiatePost200ResponseAllOfData.md delete mode 100644 apps/web/src/types/generated/docs/TracksPost201Response.md delete mode 100644 apps/web/src/types/generated/docs/TracksPost201ResponseAllOfData.md delete mode 100644 apps/web/src/types/generated/docs/TracksQuotaIdGet200Response.md delete mode 100644 apps/web/src/types/generated/docs/TracksQuotaIdGet200ResponseAllOfData.md delete mode 100644 apps/web/src/types/generated/docs/TracksRecommendationsGet200Response.md delete mode 100644 apps/web/src/types/generated/docs/TracksRecommendationsGet200ResponseAllOfData.md delete mode 100644 apps/web/src/types/generated/docs/TracksResumeUploadIdGet200Response.md delete mode 100644 apps/web/src/types/generated/docs/TracksResumeUploadIdGet200ResponseAllOfData.md delete mode 100644 apps/web/src/types/generated/docs/TracksSharedTokenGet200Response.md delete mode 100644 apps/web/src/types/generated/docs/TracksSharedTokenGet200ResponseAllOfData.md delete mode 100644 apps/web/src/types/generated/docs/TracksSuggestedTagsGet200Response.md delete mode 100644 apps/web/src/types/generated/docs/TracksSuggestedTagsGet200ResponseAllOfData.md delete mode 100644 apps/web/src/types/generated/docs/UserApi.md delete mode 100644 apps/web/src/types/generated/docs/UsersApi.md delete mode 100644 apps/web/src/types/generated/docs/UsersGet200Response.md delete mode 100644 apps/web/src/types/generated/docs/UsersGet200ResponseAllOfData.md delete mode 100644 apps/web/src/types/generated/docs/UsersIdGet200Response.md delete mode 100644 apps/web/src/types/generated/docs/UsersIdGet200ResponseAllOfData.md delete mode 100644 apps/web/src/types/generated/docs/UsersIdLikesGet200Response.md delete mode 100644 apps/web/src/types/generated/docs/UsersIdLikesGet200ResponseAllOfData.md delete mode 100644 apps/web/src/types/generated/docs/UsersSearchGet200Response.md delete mode 100644 apps/web/src/types/generated/docs/UsersSearchGet200ResponseAllOfData.md delete mode 100644 apps/web/src/types/generated/docs/UsersSuggestionsGet200Response.md delete mode 100644 apps/web/src/types/generated/docs/UsersSuggestionsGet200ResponseAllOfData.md delete mode 100644 apps/web/src/types/generated/docs/ValidationApi.md delete mode 100644 apps/web/src/types/generated/docs/VezaBackendApiInternalCoreMarketplaceLicenseType.md delete mode 100644 apps/web/src/types/generated/docs/VezaBackendApiInternalCoreMarketplaceOrder.md delete mode 100644 apps/web/src/types/generated/docs/VezaBackendApiInternalCoreMarketplaceOrderItem.md delete mode 100644 apps/web/src/types/generated/docs/VezaBackendApiInternalCoreMarketplaceProduct.md delete mode 100644 apps/web/src/types/generated/docs/VezaBackendApiInternalCoreMarketplaceProductImage.md delete mode 100644 apps/web/src/types/generated/docs/VezaBackendApiInternalCoreMarketplaceProductLicense.md delete mode 100644 apps/web/src/types/generated/docs/VezaBackendApiInternalCoreMarketplaceProductPreview.md delete mode 100644 apps/web/src/types/generated/docs/VezaBackendApiInternalCoreMarketplaceProductStatus.md delete mode 100644 apps/web/src/types/generated/docs/VezaBackendApiInternalDtoLoginRequest.md delete mode 100644 apps/web/src/types/generated/docs/VezaBackendApiInternalDtoLoginResponse.md delete mode 100644 apps/web/src/types/generated/docs/VezaBackendApiInternalDtoRefreshRequest.md delete mode 100644 apps/web/src/types/generated/docs/VezaBackendApiInternalDtoRegisterRequest.md delete mode 100644 apps/web/src/types/generated/docs/VezaBackendApiInternalDtoRegisterResponse.md delete mode 100644 apps/web/src/types/generated/docs/VezaBackendApiInternalDtoResendVerificationRequest.md delete mode 100644 apps/web/src/types/generated/docs/VezaBackendApiInternalDtoTokenResponse.md delete mode 100644 apps/web/src/types/generated/docs/VezaBackendApiInternalDtoUserResponse.md delete mode 100644 apps/web/src/types/generated/docs/VezaBackendApiInternalDtoValidationError.md delete mode 100644 apps/web/src/types/generated/docs/VezaBackendApiInternalHandlersAPIResponse.md delete mode 100644 apps/web/src/types/generated/docs/VezaBackendApiInternalModelsPlaylist.md delete mode 100644 apps/web/src/types/generated/docs/VezaBackendApiInternalModelsPlaylistCollaborator.md delete mode 100644 apps/web/src/types/generated/docs/VezaBackendApiInternalModelsPlaylistPermission.md delete mode 100644 apps/web/src/types/generated/docs/VezaBackendApiInternalModelsPlaylistTrack.md delete mode 100644 apps/web/src/types/generated/docs/VezaBackendApiInternalModelsTrack.md delete mode 100644 apps/web/src/types/generated/docs/VezaBackendApiInternalModelsTrackStatus.md delete mode 100644 apps/web/src/types/generated/docs/VezaBackendApiInternalModelsUser.md delete mode 100644 apps/web/src/types/generated/docs/VezaBackendApiInternalResponseAPIResponse.md delete mode 100644 apps/web/src/types/generated/docs/WebhookApi.md delete mode 100644 apps/web/src/types/generated/docs/WebhooksGet200Response.md delete mode 100644 apps/web/src/types/generated/docs/WebhooksGet200ResponseAllOfData.md delete mode 100644 apps/web/src/types/generated/docs/WebhooksIdRegenerateKeyPost200Response.md delete mode 100644 apps/web/src/types/generated/docs/WebhooksIdRegenerateKeyPost200ResponseAllOfData.md delete mode 100644 apps/web/src/types/generated/docs/WebhooksPost201Response.md delete mode 100644 apps/web/src/types/generated/docs/WebhooksPost201ResponseAllOfData.md delete mode 100644 apps/web/src/types/generated/git_push.sh delete mode 100644 apps/web/src/types/generated/index.ts diff --git a/.husky/pre-commit b/.husky/pre-commit index 71f79fb8a..719ae1f21 100755 --- a/.husky/pre-commit +++ b/.husky/pre-commit @@ -2,7 +2,7 @@ # Each step runs in a subshell so the cd does not leak across steps. # Pre-commit runs from the repo root; every cd below is relative to that. -# Drift guard: ensure apps/web/src/types/generated/ matches +# Drift guard: ensure apps/web/src/services/generated/ (orval) matches # veza-backend-api/openapi.yaml. Regenerates locally then fails if the # committed types don't match the freshly-regenerated output. # Skip with SKIP_TYPES=1 for emergency commits (documented in CLAUDE.md). @@ -10,7 +10,7 @@ if [ -z "$SKIP_TYPES" ]; then (cd apps/web && bash scripts/check-types-sync.sh) || { echo "❌ OpenAPI types are out of sync with veza-backend-api/openapi.yaml." echo "💡 Run: make openapi && cd apps/web && bash scripts/generate-types.sh" - echo "💡 Then stage the updated src/types/generated/ and retry." + echo "💡 Then stage the updated src/services/generated/ and retry." echo "💡 Tip: SKIP_TYPES=1 bypasses (not recommended)." exit 1 } diff --git a/apps/web/package.json b/apps/web/package.json index 4fb80a4ae..13f62057d 100644 --- a/apps/web/package.json +++ b/apps/web/package.json @@ -99,7 +99,6 @@ "zustand": "^4.5.0" }, "devDependencies": { - "@openapitools/openapi-generator-cli": "^2.27.0", "@storybook/addon-a11y": "^10.3.3", "@storybook/addon-docs": "^10.3.3", "@storybook/addon-vitest": "^10.3.3", diff --git a/apps/web/scripts/check-types-sync.sh b/apps/web/scripts/check-types-sync.sh index 941474cd9..4d6f68d57 100755 --- a/apps/web/scripts/check-types-sync.sh +++ b/apps/web/scripts/check-types-sync.sh @@ -1,10 +1,10 @@ #!/bin/bash -# Check that generated TypeScript types + orval output match the committed -# versions. Fails if openapi.yaml changed without regenerating one of the -# two trees. +# Check that orval-generated output matches the committed version. +# Fails if openapi.yaml changed without regenerating. # -# v1.0.8 Phase 1: watches both src/types/generated/ (legacy typescript-axios) -# and src/services/generated/ (orval). Phase 3 (B9) removes the legacy tree. +# v1.0.8 Phase 3 (B9) — single tree now: src/services/generated/ (orval). +# The legacy src/types/generated/ tree was dropped along with the +# @openapitools/openapi-generator-cli dependency. # # Usage: ./scripts/check-types-sync.sh (from apps/web) @@ -15,21 +15,12 @@ PROJECT_ROOT="$(cd "$SCRIPT_DIR/.." && pwd)" cd "$PROJECT_ROOT" -# Regenerate both legacy types + orval output. +# Regenerate orval output. ./scripts/generate-types.sh -# Check for uncommitted changes across BOTH trees. -sync_ok=true -if ! git diff --exit-code src/types/generated/ >/dev/null 2>&1; then - echo "Error: src/types/generated/ is out of sync with openapi.yaml." - sync_ok=false -fi +# Check for uncommitted changes. if ! git diff --exit-code src/services/generated/ >/dev/null 2>&1; then echo "Error: src/services/generated/ (orval) is out of sync with openapi.yaml." - sync_ok=false -fi - -if ! $sync_ok; then echo "" echo "Run: make openapi && cd apps/web && ./scripts/generate-types.sh" echo "Then stage the updated files and retry." diff --git a/apps/web/scripts/generate-types.sh b/apps/web/scripts/generate-types.sh index 7acf24389..375e42b87 100755 --- a/apps/web/scripts/generate-types.sh +++ b/apps/web/scripts/generate-types.sh @@ -1,13 +1,9 @@ # Generate TypeScript types + React Query hooks from OpenAPI spec. # -# v1.0.8 Phase 1: runs TWO generators during the migration: -# 1. @openapitools/openapi-generator-cli → src/types/generated/ -# (feeds hand-written services/api/*.ts until Phase 3 cleanup) -# 2. orval → src/services/generated/ -# (typed Axios services + React Query hooks, new world) -# -# Phase 3 (B9) removes step 1 and drops the old generator dependency. -# Until then, drift on EITHER tree fails check-types-sync.sh. +# v1.0.8 Phase 3 (B9) — single generator now: orval emits typed Axios +# functions + React Query hooks under src/services/generated/. The +# legacy openapi-generator-cli output (src/types/generated/) was +# removed once all consumers switched to orval models. # # Usage: ./scripts/generate-types.sh # (invoked by check-types-sync.sh, pre-commit, CI frontend-ci.yml) @@ -23,7 +19,6 @@ SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" PROJECT_ROOT="$(cd "$SCRIPT_DIR/.." && pwd)" BACKEND_ROOT="$(cd "$PROJECT_ROOT/../../veza-backend-api" && pwd)" OPENAPI_SPEC="$BACKEND_ROOT/openapi.yaml" -LEGACY_OUTPUT_DIR="$PROJECT_ROOT/src/types/generated" ORVAL_OUTPUT_DIR="$PROJECT_ROOT/src/services/generated" cd "$PROJECT_ROOT" @@ -35,33 +30,9 @@ if [ ! -f "$OPENAPI_SPEC" ]; then fi # ----------------------------------------------------------------------------- -# 1. Legacy generator — still feeds hand-written services during migration. -# Dropped in v1.0.8 Phase 3 (B9) once all services switch to orval. +# orval — typed Axios services + React Query hooks. # ----------------------------------------------------------------------------- -echo -e "${GREEN}🔨 [1/2] Generating legacy typescript-axios types...${NC}" -mkdir -p "$LEGACY_OUTPUT_DIR" -npx @openapitools/openapi-generator-cli generate \ - -i "$OPENAPI_SPEC" \ - -g typescript-axios \ - -o "$LEGACY_OUTPUT_DIR" \ - --additional-properties=supportsES6=true,withInterfaces=true,typescriptThreePlus=true - -cat > "$LEGACY_OUTPUT_DIR/index.ts" << 'EOF' -// Auto-generated types from OpenAPI specification -// Do not edit this file manually - it will be overwritten -// DEPRECATED v1.0.8 P3 — migrate consumers to src/services/generated/ (orval). - -export * from './api'; -export * from './base'; -export * from './configuration'; -export * from './common'; -EOF -echo -e "${GREEN} ✅ Legacy types → $LEGACY_OUTPUT_DIR${NC}" - -# ----------------------------------------------------------------------------- -# 2. orval — typed Axios services + React Query hooks. New world. -# ----------------------------------------------------------------------------- -echo -e "${GREEN}🔨 [2/2] Generating orval services + hooks...${NC}" +echo -e "${GREEN}🔨 Generating orval services + hooks...${NC}" npx orval --config orval.config.ts echo -e "${GREEN} ✅ orval output → $ORVAL_OUTPUT_DIR${NC}" diff --git a/apps/web/src/features/auth/types/index.ts b/apps/web/src/features/auth/types/index.ts index 7b4a7c233..ffe6bb18a 100644 --- a/apps/web/src/features/auth/types/index.ts +++ b/apps/web/src/features/auth/types/index.ts @@ -1,10 +1,8 @@ // INT-CLEANUP-002: Import shared types from @/types instead of duplicating import type { User, AuthTokens } from '@/types'; -// Action 1.1.3.13: Import generated types for auth responses -import type { - VezaBackendApiInternalDtoTokenResponse, - VezaBackendApiInternalDtoResendVerificationRequest, -} from '@/types/generated/api'; +// Action 1.1.3.13: Import generated types for auth responses (orval — v1.0.8 B9) +import type { VezaBackendApiInternalDtoTokenResponse } from '@/services/generated/model/vezaBackendApiInternalDtoTokenResponse'; +import type { VezaBackendApiInternalDtoResendVerificationRequest } from '@/services/generated/model/vezaBackendApiInternalDtoResendVerificationRequest'; // Re-export for backward compatibility export type { User, AuthTokens }; diff --git a/apps/web/src/features/tracks/types/track.ts b/apps/web/src/features/tracks/types/track.ts index 7af48ac69..277f0c52d 100644 --- a/apps/web/src/features/tracks/types/track.ts +++ b/apps/web/src/features/tracks/types/track.ts @@ -5,7 +5,10 @@ * Action 1.1.3.3: Using generated type as base */ -import type { VezaBackendApiInternalModelsTrack, VezaBackendApiInternalModelsTrackStatus } from '@/types/generated/api'; +// v1.0.8 B9 — switched from legacy openapi-generator-cli output to +// orval-generated models. Same shape, sourced from openapi.yaml. +import type { VezaBackendApiInternalModelsTrack } from '@/services/generated/model/vezaBackendApiInternalModelsTrack'; +import type { VezaBackendApiInternalModelsTrackStatus } from '@/services/generated/model/vezaBackendApiInternalModelsTrackStatus'; /** * TrackStatus enum - aligned with backend TrackStatus constants diff --git a/apps/web/src/types/api.ts b/apps/web/src/types/api.ts index 9af19b458..c283a4bc0 100644 --- a/apps/web/src/types/api.ts +++ b/apps/web/src/types/api.ts @@ -1,7 +1,11 @@ // Types de base pour l'API import { TrackStatus } from '@/features/tracks/types/track'; import type { ApiError } from '@/schemas/apiSchemas'; -import type { VezaBackendApiInternalModelsTrack, VezaBackendApiInternalModelsTrackStatus, VezaBackendApiInternalModelsUser } from '@/types/generated/api'; +// v1.0.8 B9 — orval-generated models replace the legacy +// openapi-generator-cli output. Same shapes, sourced from openapi.yaml. +import type { VezaBackendApiInternalModelsTrack } from '@/services/generated/model/vezaBackendApiInternalModelsTrack'; +import type { VezaBackendApiInternalModelsTrackStatus } from '@/services/generated/model/vezaBackendApiInternalModelsTrackStatus'; +import type { VezaBackendApiInternalModelsUser } from '@/services/generated/model/vezaBackendApiInternalModelsUser'; export interface PaginatedResponse { items: T[]; diff --git a/apps/web/src/types/generated/.gitignore b/apps/web/src/types/generated/.gitignore deleted file mode 100644 index 149b57654..000000000 --- a/apps/web/src/types/generated/.gitignore +++ /dev/null @@ -1,4 +0,0 @@ -wwwroot/*.js -node_modules -typings -dist diff --git a/apps/web/src/types/generated/.npmignore b/apps/web/src/types/generated/.npmignore deleted file mode 100644 index 999d88df6..000000000 --- a/apps/web/src/types/generated/.npmignore +++ /dev/null @@ -1 +0,0 @@ -# empty npmignore to ensure all required files (e.g., in the dist folder) are published by npm \ No newline at end of file diff --git a/apps/web/src/types/generated/.openapi-generator-ignore b/apps/web/src/types/generated/.openapi-generator-ignore deleted file mode 100644 index 7484ee590..000000000 --- a/apps/web/src/types/generated/.openapi-generator-ignore +++ /dev/null @@ -1,23 +0,0 @@ -# OpenAPI Generator Ignore -# Generated by openapi-generator https://github.com/openapitools/openapi-generator - -# Use this file to prevent files from being overwritten by the generator. -# The patterns follow closely to .gitignore or .dockerignore. - -# As an example, the C# client generator defines ApiClient.cs. -# You can make changes and tell OpenAPI Generator to ignore just this file by uncommenting the following line: -#ApiClient.cs - -# You can match any string of characters against a directory, file or extension with a single asterisk (*): -#foo/*/qux -# The above matches foo/bar/qux and foo/baz/qux, but not foo/bar/baz/qux - -# You can recursively match patterns against a directory, file or extension with a double asterisk (**): -#foo/**/qux -# This matches foo/bar/qux, foo/baz/qux, and foo/bar/baz/qux - -# You can also negate patterns with an exclamation (!). -# For example, you can ignore all files in a docs folder with the file extension .md: -#docs/*.md -# Then explicitly reverse the ignore rule for a single file: -#!docs/README.md diff --git a/apps/web/src/types/generated/.openapi-generator/FILES b/apps/web/src/types/generated/.openapi-generator/FILES deleted file mode 100644 index 40071b5fe..000000000 --- a/apps/web/src/types/generated/.openapi-generator/FILES +++ /dev/null @@ -1,181 +0,0 @@ -.gitignore -.npmignore -api.ts -base.ts -common.ts -configuration.ts -docs/ApiV1DashboardGet200Response.md -docs/ApiV1LogsFrontendPost200Response.md -docs/ApiV1LogsFrontendPost200ResponseAllOfData.md -docs/AuditActivityGet200Response.md -docs/AuditActivityGet200ResponseAllOfData.md -docs/AuditApi.md -docs/AuditLogsGet200Response.md -docs/AuditLogsGet200ResponseAllOfData.md -docs/AuditStatsGet200Response.md -docs/AuditStatsGet200ResponseAllOfData.md -docs/Auth2faDisablePost200Response.md -docs/Auth2faDisablePost200ResponseAllOfData.md -docs/Auth2faSetupPost200Response.md -docs/Auth2faStatusGet200Response.md -docs/Auth2faStatusGet200ResponseAllOfData.md -docs/AuthApi.md -docs/AuthCheckUsernameGet200Response.md -docs/AuthCheckUsernameGet200ResponseAllOfData.md -docs/AuthLogoutPostRequest.md -docs/AuthMeGet200Response.md -docs/ChatApi.md -docs/ChatTokenGet200Response.md -docs/ChatTokenGet200ResponseAllOfData.md -docs/CommentApi.md -docs/CommentsIdPut200Response.md -docs/CommentsIdPut200ResponseAllOfData.md -docs/CommentsIdRepliesGet200Response.md -docs/CommentsIdRepliesGet200ResponseAllOfData.md -docs/DashboardApi.md -docs/InternalCoreTrackBatchDeleteRequest.md -docs/InternalCoreTrackBatchUpdateRequest.md -docs/InternalCoreTrackCompleteChunkedUploadRequest.md -docs/InternalCoreTrackCreateShareRequest.md -docs/InternalCoreTrackInitiateChunkedUploadRequest.md -docs/InternalCoreTrackRecordPlayRequest.md -docs/InternalCoreTrackStreamCallbackRequest.md -docs/InternalCoreTrackUpdateLyricsRequest.md -docs/InternalCoreTrackUpdateTrackRequest.md -docs/InternalHandlersAPIResponse.md -docs/InternalHandlersAddCollaboratorRequest.md -docs/InternalHandlersCreateCommentRequest.md -docs/InternalHandlersCreateOrderRequest.md -docs/InternalHandlersCreateOrderRequestItemsInner.md -docs/InternalHandlersCreatePlaylistRequest.md -docs/InternalHandlersCreateProductRequest.md -docs/InternalHandlersCreateProductRequestLicensesInner.md -docs/InternalHandlersDashboardResponse.md -docs/InternalHandlersDashboardStats.md -docs/InternalHandlersDeleteAccountRequest.md -docs/InternalHandlersDisableTwoFactorRequest.md -docs/InternalHandlersFrontendLogRequest.md -docs/InternalHandlersImportPlaylistRequest.md -docs/InternalHandlersImportPlaylistRequestPlaylist.md -docs/InternalHandlersImportPlaylistRequestTracksInner.md -docs/InternalHandlersLibraryPreview.md -docs/InternalHandlersRecentActivity.md -docs/InternalHandlersReorderTracksRequest.md -docs/InternalHandlersSetupTwoFactorResponse.md -docs/InternalHandlersStreamTokenResponse.md -docs/InternalHandlersTrackPreview.md -docs/InternalHandlersUpdateCollaboratorPermissionRequest.md -docs/InternalHandlersUpdateCommentRequest.md -docs/InternalHandlersUpdatePlaylistRequest.md -docs/InternalHandlersUpdateProductRequest.md -docs/InternalHandlersUpdateProfileRequest.md -docs/InternalHandlersValidateRequest.md -docs/InternalHandlersValidateResponse.md -docs/InternalHandlersVerifyTwoFactorRequest.md -docs/LoggingApi.md -docs/MarketplaceApi.md -docs/PlaylistApi.md -docs/PlaylistsGet200Response.md -docs/PlaylistsGet200ResponseAllOfData.md -docs/PlaylistsIdCollaboratorsGet200Response.md -docs/PlaylistsIdCollaboratorsGet200ResponseAllOfData.md -docs/PlaylistsIdCollaboratorsPost200Response.md -docs/PlaylistsIdCollaboratorsPost200ResponseAllOfData.md -docs/PlaylistsIdSharePost200Response.md -docs/PlaylistsIdSharePost200ResponseAllOfData.md -docs/PlaylistsIdTracksPostRequest.md -docs/PlaylistsPost201Response.md -docs/PlaylistsPost201ResponseAllOfData.md -docs/PlaylistsRecommendationsGet200Response.md -docs/PlaylistsRecommendationsGet200ResponseAllOfData.md -docs/TrackApi.md -docs/TracksBatchDeletePost200Response.md -docs/TracksBatchDeletePost200ResponseAllOfData.md -docs/TracksBatchUpdatePost200Response.md -docs/TracksBatchUpdatePost200ResponseAllOfData.md -docs/TracksChunkPost200Response.md -docs/TracksChunkPost200ResponseAllOfData.md -docs/TracksCompletePost201Response.md -docs/TracksCompletePost201ResponseAllOfData.md -docs/TracksGet200Response.md -docs/TracksGet200ResponseAllOfData.md -docs/TracksIdCommentsGet200Response.md -docs/TracksIdCommentsGet200ResponseAllOfData.md -docs/TracksIdDelete200Response.md -docs/TracksIdHistoryGet200Response.md -docs/TracksIdHistoryGet200ResponseAllOfData.md -docs/TracksIdLikePost200Response.md -docs/TracksIdLikesGet200Response.md -docs/TracksIdLikesGet200ResponseAllOfData.md -docs/TracksIdLyricsGet200Response.md -docs/TracksIdLyricsGet200ResponseAllOfData.md -docs/TracksIdPlayPost200Response.md -docs/TracksIdPlayPost200ResponseAllOfData.md -docs/TracksIdRepostGet200Response.md -docs/TracksIdRepostGet200ResponseAllOfData.md -docs/TracksIdSharePost200Response.md -docs/TracksIdStatsGet200Response.md -docs/TracksIdStatusGet200Response.md -docs/TracksIdStatusGet200ResponseAllOfData.md -docs/TracksInitiatePost200Response.md -docs/TracksInitiatePost200ResponseAllOfData.md -docs/TracksPost201Response.md -docs/TracksPost201ResponseAllOfData.md -docs/TracksQuotaIdGet200Response.md -docs/TracksQuotaIdGet200ResponseAllOfData.md -docs/TracksRecommendationsGet200Response.md -docs/TracksRecommendationsGet200ResponseAllOfData.md -docs/TracksResumeUploadIdGet200Response.md -docs/TracksResumeUploadIdGet200ResponseAllOfData.md -docs/TracksSharedTokenGet200Response.md -docs/TracksSharedTokenGet200ResponseAllOfData.md -docs/TracksSuggestedTagsGet200Response.md -docs/TracksSuggestedTagsGet200ResponseAllOfData.md -docs/UserApi.md -docs/UsersApi.md -docs/UsersGet200Response.md -docs/UsersGet200ResponseAllOfData.md -docs/UsersIdGet200Response.md -docs/UsersIdGet200ResponseAllOfData.md -docs/UsersIdLikesGet200Response.md -docs/UsersIdLikesGet200ResponseAllOfData.md -docs/UsersSearchGet200Response.md -docs/UsersSearchGet200ResponseAllOfData.md -docs/UsersSuggestionsGet200Response.md -docs/UsersSuggestionsGet200ResponseAllOfData.md -docs/ValidationApi.md -docs/VezaBackendApiInternalCoreMarketplaceLicenseType.md -docs/VezaBackendApiInternalCoreMarketplaceOrder.md -docs/VezaBackendApiInternalCoreMarketplaceOrderItem.md -docs/VezaBackendApiInternalCoreMarketplaceProduct.md -docs/VezaBackendApiInternalCoreMarketplaceProductImage.md -docs/VezaBackendApiInternalCoreMarketplaceProductLicense.md -docs/VezaBackendApiInternalCoreMarketplaceProductPreview.md -docs/VezaBackendApiInternalCoreMarketplaceProductStatus.md -docs/VezaBackendApiInternalDtoLoginRequest.md -docs/VezaBackendApiInternalDtoLoginResponse.md -docs/VezaBackendApiInternalDtoRefreshRequest.md -docs/VezaBackendApiInternalDtoRegisterRequest.md -docs/VezaBackendApiInternalDtoRegisterResponse.md -docs/VezaBackendApiInternalDtoResendVerificationRequest.md -docs/VezaBackendApiInternalDtoTokenResponse.md -docs/VezaBackendApiInternalDtoUserResponse.md -docs/VezaBackendApiInternalDtoValidationError.md -docs/VezaBackendApiInternalHandlersAPIResponse.md -docs/VezaBackendApiInternalModelsPlaylist.md -docs/VezaBackendApiInternalModelsPlaylistCollaborator.md -docs/VezaBackendApiInternalModelsPlaylistPermission.md -docs/VezaBackendApiInternalModelsPlaylistTrack.md -docs/VezaBackendApiInternalModelsTrack.md -docs/VezaBackendApiInternalModelsTrackStatus.md -docs/VezaBackendApiInternalModelsUser.md -docs/VezaBackendApiInternalResponseAPIResponse.md -docs/WebhookApi.md -docs/WebhooksGet200Response.md -docs/WebhooksGet200ResponseAllOfData.md -docs/WebhooksIdRegenerateKeyPost200Response.md -docs/WebhooksIdRegenerateKeyPost200ResponseAllOfData.md -docs/WebhooksPost201Response.md -docs/WebhooksPost201ResponseAllOfData.md -git_push.sh -index.ts diff --git a/apps/web/src/types/generated/.openapi-generator/VERSION b/apps/web/src/types/generated/.openapi-generator/VERSION deleted file mode 100644 index 1b2d969d1..000000000 --- a/apps/web/src/types/generated/.openapi-generator/VERSION +++ /dev/null @@ -1 +0,0 @@ -7.18.0 diff --git a/apps/web/src/types/generated/api.ts b/apps/web/src/types/generated/api.ts deleted file mode 100644 index 1504e8459..000000000 --- a/apps/web/src/types/generated/api.ts +++ /dev/null @@ -1,11036 +0,0 @@ -/* tslint:disable */ -/* eslint-disable */ -/** - * Veza Backend API - * Backend API for Veza platform. - * - * The version of the OpenAPI document: 1.2.0 - * Contact: support@veza.app - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - - -import type { Configuration } from './configuration'; -import type { AxiosPromise, AxiosInstance, RawAxiosRequestConfig } from 'axios'; -import globalAxios from 'axios'; -// Some imports not used depending on template conditions -// @ts-ignore -import { DUMMY_BASE_URL, assertParamExists, setApiKeyToObject, setBasicAuthToObject, setBearerAuthToObject, setOAuthToObject, setSearchParams, serializeDataIfNeeded, toPathString, createRequestFunction } from './common'; -import type { RequestArgs } from './base'; -// @ts-ignore -import { BASE_PATH, COLLECTION_FORMATS, BaseAPI, RequiredError, operationServerMap } from './base'; - -export interface ApiV1DashboardGet200Response { - 'data'?: InternalHandlersDashboardResponse; - 'error'?: object; - 'success'?: boolean; -} -export interface ApiV1LogsFrontendPost200Response { - 'data'?: ApiV1LogsFrontendPost200ResponseAllOfData; - 'error'?: object; - 'success'?: boolean; -} -export interface ApiV1LogsFrontendPost200ResponseAllOfData { - 'received'?: boolean; -} -export interface AuditActivityGet200Response { - 'data'?: AuditActivityGet200ResponseAllOfData; - 'error'?: object; - 'success'?: boolean; -} -export interface AuditActivityGet200ResponseAllOfData { - 'activities'?: Array; -} -export interface AuditLogsGet200Response { - 'data'?: AuditLogsGet200ResponseAllOfData; - 'error'?: object; - 'success'?: boolean; -} -export interface AuditLogsGet200ResponseAllOfData { - 'logs'?: Array; - 'pagination'?: object; -} -export interface AuditStatsGet200Response { - 'data'?: AuditStatsGet200ResponseAllOfData; - 'error'?: object; - 'success'?: boolean; -} -export interface AuditStatsGet200ResponseAllOfData { - 'stats'?: object; -} -export interface Auth2faDisablePost200Response { - 'data'?: Auth2faDisablePost200ResponseAllOfData; - 'error'?: object; - 'success'?: boolean; -} -export interface Auth2faDisablePost200ResponseAllOfData { - 'message'?: string; -} -export interface Auth2faSetupPost200Response { - 'data'?: InternalHandlersSetupTwoFactorResponse; - 'error'?: object; - 'success'?: boolean; -} -export interface Auth2faStatusGet200Response { - 'data'?: Auth2faStatusGet200ResponseAllOfData; - 'error'?: object; - 'success'?: boolean; -} -export interface Auth2faStatusGet200ResponseAllOfData { - 'enabled'?: boolean; -} -export interface AuthCheckUsernameGet200Response { - 'data'?: AuthCheckUsernameGet200ResponseAllOfData; - 'error'?: object; - 'success'?: boolean; -} -export interface AuthCheckUsernameGet200ResponseAllOfData { - 'available'?: boolean; - 'username'?: string; -} -export interface AuthLogoutPostRequest { - 'refresh_token'?: string; -} -export interface AuthMeGet200Response { - 'data'?: object; - 'error'?: object; - 'success'?: boolean; -} -export interface ChatTokenGet200Response { - 'data'?: ChatTokenGet200ResponseAllOfData; - 'error'?: object; - 'success'?: boolean; -} -export interface ChatTokenGet200ResponseAllOfData { - 'token'?: string; -} -export interface CommentsIdPut200Response { - 'data'?: CommentsIdPut200ResponseAllOfData; - 'error'?: object; - 'success'?: boolean; -} -export interface CommentsIdPut200ResponseAllOfData { - 'comment'?: object; -} -export interface CommentsIdRepliesGet200Response { - 'data'?: CommentsIdRepliesGet200ResponseAllOfData; - 'error'?: object; - 'success'?: boolean; -} -export interface CommentsIdRepliesGet200ResponseAllOfData { - 'pagination'?: object; - 'replies'?: Array; -} -export interface InternalCoreTrackBatchDeleteRequest { - 'track_ids': Array; -} -export interface InternalCoreTrackBatchUpdateRequest { - 'track_ids': Array; - 'updates': { [key: string]: any; }; -} -export interface InternalCoreTrackCompleteChunkedUploadRequest { - 'upload_id': string; -} -export interface InternalCoreTrackCreateShareRequest { - 'expires_at'?: string; - 'permissions': InternalCoreTrackCreateShareRequestPermissionsEnum; -} - -export const InternalCoreTrackCreateShareRequestPermissionsEnum = { - Read: 'read', - Write: 'write', - Admin: 'admin' -} as const; - -export type InternalCoreTrackCreateShareRequestPermissionsEnum = typeof InternalCoreTrackCreateShareRequestPermissionsEnum[keyof typeof InternalCoreTrackCreateShareRequestPermissionsEnum]; - -export interface InternalCoreTrackInitiateChunkedUploadRequest { - 'filename': string; - 'total_chunks': number; - 'total_size': number; -} -export interface InternalCoreTrackRecordPlayRequest { - 'play_time'?: number; -} -export interface InternalCoreTrackStreamCallbackRequest { - 'error'?: string; - 'manifest_url'?: string; - 'status': InternalCoreTrackStreamCallbackRequestStatusEnum; -} - -export const InternalCoreTrackStreamCallbackRequestStatusEnum = { - Completed: 'completed', - Failed: 'failed', - Processing: 'processing' -} as const; - -export type InternalCoreTrackStreamCallbackRequestStatusEnum = typeof InternalCoreTrackStreamCallbackRequestStatusEnum[keyof typeof InternalCoreTrackStreamCallbackRequestStatusEnum]; - -export interface InternalCoreTrackUpdateLyricsRequest { - 'content'?: string; -} -export interface InternalCoreTrackUpdateTrackRequest { - 'album'?: string; - 'artist'?: string; - 'bpm'?: number; - /** - * legacy, single - */ - 'genre'?: string; - /** - * v0.10.1: max 3, taxonomy slugs - */ - 'genres'?: Array; - 'is_public'?: boolean; - 'musical_key'?: string; - /** - * v0.10.1: max 10, 30 chars each - */ - 'tags'?: Array; - 'title'?: string; - 'year'?: number; -} -export interface InternalHandlersAPIResponse { - 'data'?: object; - 'error'?: object; - 'success'?: boolean; -} -export interface InternalHandlersAddCollaboratorRequest { - 'permission': InternalHandlersAddCollaboratorRequestPermissionEnum; - 'user_id': string; -} - -export const InternalHandlersAddCollaboratorRequestPermissionEnum = { - Read: 'read', - Write: 'write', - Admin: 'admin' -} as const; - -export type InternalHandlersAddCollaboratorRequestPermissionEnum = typeof InternalHandlersAddCollaboratorRequestPermissionEnum[keyof typeof InternalHandlersAddCollaboratorRequestPermissionEnum]; - -export interface InternalHandlersCreateCommentRequest { - 'content': string; - 'parent_id'?: string; - /** - * Position in seconds (0 = top-level, no specific time) - */ - 'timestamp'?: number; -} -export interface InternalHandlersCreateOrderRequest { - 'items': Array; - 'promo_code'?: string; -} -export interface InternalHandlersCreateOrderRequestItemsInner { - 'product_id': string; -} -export interface InternalHandlersCreatePlaylistRequest { - 'description'?: string; - 'is_public'?: boolean; - 'title': string; -} -export interface InternalHandlersCreateProductRequest { - /** - * v0.401 M1 - */ - 'bpm'?: number; - 'category'?: InternalHandlersCreateProductRequestCategoryEnum; - 'description'?: string; - 'license_type'?: InternalHandlersCreateProductRequestLicenseTypeEnum; - /** - * v0.401 M2: Product licenses (streaming, personal, commercial, exclusive) - */ - 'licenses'?: Array; - 'musical_key'?: string; - 'price': number; - 'product_type': InternalHandlersCreateProductRequestProductTypeEnum; - 'title': string; - /** - * UUID string - */ - 'track_id'?: string; -} - -export const InternalHandlersCreateProductRequestCategoryEnum = { - Sample: 'sample', - Beat: 'beat', - Preset: 'preset', - Pack: 'pack' -} as const; - -export type InternalHandlersCreateProductRequestCategoryEnum = typeof InternalHandlersCreateProductRequestCategoryEnum[keyof typeof InternalHandlersCreateProductRequestCategoryEnum]; -export const InternalHandlersCreateProductRequestLicenseTypeEnum = { - Standard: 'standard', - Exclusive: 'exclusive', - Commercial: 'commercial' -} as const; - -export type InternalHandlersCreateProductRequestLicenseTypeEnum = typeof InternalHandlersCreateProductRequestLicenseTypeEnum[keyof typeof InternalHandlersCreateProductRequestLicenseTypeEnum]; -export const InternalHandlersCreateProductRequestProductTypeEnum = { - Track: 'track', - Pack: 'pack', - Service: 'service' -} as const; - -export type InternalHandlersCreateProductRequestProductTypeEnum = typeof InternalHandlersCreateProductRequestProductTypeEnum[keyof typeof InternalHandlersCreateProductRequestProductTypeEnum]; - -export interface InternalHandlersCreateProductRequestLicensesInner { - 'license_type': InternalHandlersCreateProductRequestLicensesInnerLicenseTypeEnum; - 'price_cents': number; - 'terms_text'?: string; -} - -export const InternalHandlersCreateProductRequestLicensesInnerLicenseTypeEnum = { - Streaming: 'streaming', - Personal: 'personal', - Commercial: 'commercial', - Exclusive: 'exclusive' -} as const; - -export type InternalHandlersCreateProductRequestLicensesInnerLicenseTypeEnum = typeof InternalHandlersCreateProductRequestLicensesInnerLicenseTypeEnum[keyof typeof InternalHandlersCreateProductRequestLicensesInnerLicenseTypeEnum]; - -export interface InternalHandlersDashboardResponse { - 'library_preview'?: InternalHandlersLibraryPreview; - 'recent_activity'?: Array; - 'stats'?: InternalHandlersDashboardStats; -} -export interface InternalHandlersDashboardStats { - 'active_friends'?: number; - 'active_friends_change'?: string; - 'favorites'?: number; - 'favorites_change'?: string; - 'messages_sent'?: number; - 'messages_sent_change'?: string; - 'period'?: string; - 'tracks_played'?: number; - 'tracks_played_change'?: string; -} -export interface InternalHandlersDeleteAccountRequest { - 'confirm_text': string; - /** - * If true, public tracks remain (attributed to deleted account) - */ - 'keep_public_tracks'?: boolean; - 'password': string; - 'reason'?: string; -} -export interface InternalHandlersDisableTwoFactorRequest { - 'password': string; -} -export interface InternalHandlersFrontendLogRequest { - 'context'?: { [key: string]: any; }; - 'data'?: object; - 'level'?: string; - 'message'?: string; - 'timestamp'?: string; -} -export interface InternalHandlersImportPlaylistRequest { - 'playlist'?: InternalHandlersImportPlaylistRequestPlaylist; - 'tracks'?: Array; -} -export interface InternalHandlersImportPlaylistRequestPlaylist { - 'description'?: string; - 'is_public'?: boolean; - 'title'?: string; -} -export interface InternalHandlersImportPlaylistRequestTracksInner { - 'id'?: string; -} -export interface InternalHandlersLibraryPreview { - 'has_more'?: boolean; - 'items'?: Array; - 'total_count'?: number; -} -export interface InternalHandlersRecentActivity { - 'description'?: string; - 'icon'?: string; - 'id'?: string; - 'metadata'?: { [key: string]: any; }; - 'timestamp'?: string; - 'title'?: string; - 'type'?: string; -} -export interface InternalHandlersReorderTracksRequest { - /** - * Changed to []uuid.UUID - */ - 'track_ids': Array; -} -export interface InternalHandlersSetupTwoFactorResponse { - 'qr_code_url'?: string; - 'recovery_codes'?: Array; - 'secret'?: string; -} -export interface InternalHandlersStreamTokenResponse { - /** - * seconds - */ - 'expires_in'?: number; - 'token'?: string; -} -export interface InternalHandlersTrackPreview { - 'artist'?: string; - 'cover_art_path'?: string; - 'created_at'?: string; - 'duration'?: number; - 'id'?: string; - 'like_count'?: number; - 'play_count'?: number; - 'title'?: string; -} -export interface InternalHandlersUpdateCollaboratorPermissionRequest { - 'permission': InternalHandlersUpdateCollaboratorPermissionRequestPermissionEnum; -} - -export const InternalHandlersUpdateCollaboratorPermissionRequestPermissionEnum = { - Read: 'read', - Write: 'write', - Admin: 'admin' -} as const; - -export type InternalHandlersUpdateCollaboratorPermissionRequestPermissionEnum = typeof InternalHandlersUpdateCollaboratorPermissionRequestPermissionEnum[keyof typeof InternalHandlersUpdateCollaboratorPermissionRequestPermissionEnum]; - -export interface InternalHandlersUpdateCommentRequest { - 'content': string; -} -export interface InternalHandlersUpdatePlaylistRequest { - 'description'?: string; - 'is_public'?: boolean; - 'title'?: string; -} -export interface InternalHandlersUpdateProductRequest { - 'bpm'?: number; - 'category'?: InternalHandlersUpdateProductRequestCategoryEnum; - 'description'?: string; - /** - * v0.401 M2: Product licenses - */ - 'licenses'?: Array; - 'musical_key'?: string; - 'price'?: number; - 'status'?: InternalHandlersUpdateProductRequestStatusEnum; - 'title'?: string; -} - -export const InternalHandlersUpdateProductRequestCategoryEnum = { - Sample: 'sample', - Beat: 'beat', - Preset: 'preset', - Pack: 'pack' -} as const; - -export type InternalHandlersUpdateProductRequestCategoryEnum = typeof InternalHandlersUpdateProductRequestCategoryEnum[keyof typeof InternalHandlersUpdateProductRequestCategoryEnum]; -export const InternalHandlersUpdateProductRequestStatusEnum = { - Draft: 'draft', - Active: 'active', - Archived: 'archived' -} as const; - -export type InternalHandlersUpdateProductRequestStatusEnum = typeof InternalHandlersUpdateProductRequestStatusEnum[keyof typeof InternalHandlersUpdateProductRequestStatusEnum]; - -export interface InternalHandlersUpdateProfileRequest { - 'banner_url'?: string; - 'bio'?: string; - 'birthdate'?: string; - 'first_name'?: string; - 'gender'?: InternalHandlersUpdateProfileRequestGenderEnum; - 'is_public'?: boolean; - 'last_name'?: string; - 'location'?: string; - 'social_links'?: { [key: string]: any; }; - 'username'?: string; -} - -export const InternalHandlersUpdateProfileRequestGenderEnum = { - Male: 'Male', - Female: 'Female', - Other: 'Other', - PreferNotToSay: 'Prefer not to say' -} as const; - -export type InternalHandlersUpdateProfileRequestGenderEnum = typeof InternalHandlersUpdateProfileRequestGenderEnum[keyof typeof InternalHandlersUpdateProfileRequestGenderEnum]; - -export interface InternalHandlersValidateRequest { - /** - * The data to validate - */ - 'data': Array; - /** - * e.g., \"RegisterRequest\", \"LoginRequest\" - */ - 'type': string; -} -export interface InternalHandlersValidateResponse { - 'errors'?: Array; - 'message'?: string; - 'valid'?: boolean; -} -export interface InternalHandlersVerifyTwoFactorRequest { - /** - * TOTP code to verify - */ - 'code': string; - /** - * Secret from setup step - */ - 'secret': string; -} -export interface PlaylistsGet200Response { - 'data'?: PlaylistsGet200ResponseAllOfData; - 'error'?: object; - 'success'?: boolean; -} -export interface PlaylistsGet200ResponseAllOfData { - 'pagination'?: object; - 'playlists'?: Array; -} -export interface PlaylistsIdCollaboratorsGet200Response { - 'data'?: PlaylistsIdCollaboratorsGet200ResponseAllOfData; - 'error'?: object; - 'success'?: boolean; -} -export interface PlaylistsIdCollaboratorsGet200ResponseAllOfData { - 'collaborators'?: Array; -} -export interface PlaylistsIdCollaboratorsPost200Response { - 'data'?: PlaylistsIdCollaboratorsPost200ResponseAllOfData; - 'error'?: object; - 'success'?: boolean; -} -export interface PlaylistsIdCollaboratorsPost200ResponseAllOfData { - 'collaborator'?: object; -} -export interface PlaylistsIdSharePost200Response { - 'data'?: PlaylistsIdSharePost200ResponseAllOfData; - 'error'?: object; - 'success'?: boolean; -} -export interface PlaylistsIdSharePost200ResponseAllOfData { - 'share'?: object; -} -export interface PlaylistsIdTracksPostRequest { - 'track_id'?: string; -} -export interface PlaylistsPost201Response { - 'data'?: PlaylistsPost201ResponseAllOfData; - 'error'?: object; - 'success'?: boolean; -} -export interface PlaylistsPost201ResponseAllOfData { - 'playlist'?: VezaBackendApiInternalModelsPlaylist; -} -export interface PlaylistsRecommendationsGet200Response { - 'data'?: PlaylistsRecommendationsGet200ResponseAllOfData; - 'error'?: object; - 'success'?: boolean; -} -export interface PlaylistsRecommendationsGet200ResponseAllOfData { - 'playlists'?: Array; -} -export interface TracksBatchDeletePost200Response { - 'data'?: TracksBatchDeletePost200ResponseAllOfData; - 'error'?: object; - 'success'?: boolean; -} -export interface TracksBatchDeletePost200ResponseAllOfData { - 'deleted'?: Array; - 'failed'?: Array; -} -export interface TracksBatchUpdatePost200Response { - 'data'?: TracksBatchUpdatePost200ResponseAllOfData; - 'error'?: object; - 'success'?: boolean; -} -export interface TracksBatchUpdatePost200ResponseAllOfData { - 'failed'?: Array; - 'updated'?: Array; -} -export interface TracksChunkPost200Response { - 'data'?: TracksChunkPost200ResponseAllOfData; - 'error'?: object; - 'success'?: boolean; -} -export interface TracksChunkPost200ResponseAllOfData { - 'message'?: string; - 'progress'?: number; - 'received_chunks'?: number; - 'upload_id'?: string; -} -export interface TracksCompletePost201Response { - 'data'?: TracksCompletePost201ResponseAllOfData; - 'error'?: object; - 'success'?: boolean; -} -export interface TracksCompletePost201ResponseAllOfData { - 'md5'?: string; - 'message'?: string; - 'track'?: VezaBackendApiInternalModelsTrack; -} -export interface TracksGet200Response { - 'data'?: TracksGet200ResponseAllOfData; - 'error'?: object; - 'success'?: boolean; -} -export interface TracksGet200ResponseAllOfData { - 'pagination'?: object; - 'tracks'?: Array; -} -export interface TracksIdCommentsGet200Response { - 'data'?: TracksIdCommentsGet200ResponseAllOfData; - 'error'?: object; - 'success'?: boolean; -} -export interface TracksIdCommentsGet200ResponseAllOfData { - 'comments'?: Array; - 'pagination'?: object; -} -export interface TracksIdDelete200Response { - 'data'?: Auth2faDisablePost200ResponseAllOfData; - 'error'?: object; - 'success'?: boolean; -} -export interface TracksIdHistoryGet200Response { - 'data'?: TracksIdHistoryGet200ResponseAllOfData; - 'error'?: object; - 'success'?: boolean; -} -export interface TracksIdHistoryGet200ResponseAllOfData { - 'history'?: Array; - 'limit'?: number; - 'offset'?: number; - 'total'?: number; -} -export interface TracksIdLikePost200Response { - 'data'?: Auth2faDisablePost200ResponseAllOfData; - 'error'?: object; - 'success'?: boolean; -} -export interface TracksIdLikesGet200Response { - 'data'?: TracksIdLikesGet200ResponseAllOfData; - 'error'?: object; - 'success'?: boolean; -} -export interface TracksIdLikesGet200ResponseAllOfData { - 'count'?: number; - 'is_liked'?: boolean; -} -export interface TracksIdLyricsGet200Response { - 'data'?: TracksIdLyricsGet200ResponseAllOfData; - 'error'?: object; - 'success'?: boolean; -} -export interface TracksIdLyricsGet200ResponseAllOfData { - 'lyrics'?: object; -} -export interface TracksIdPlayPost200Response { - 'data'?: TracksIdPlayPost200ResponseAllOfData; - 'error'?: object; - 'success'?: boolean; -} -export interface TracksIdPlayPost200ResponseAllOfData { - 'id'?: string; - 'message'?: string; -} -export interface TracksIdRepostGet200Response { - 'data'?: TracksIdRepostGet200ResponseAllOfData; - 'error'?: object; - 'success'?: boolean; -} -export interface TracksIdRepostGet200ResponseAllOfData { - 'is_reposted'?: boolean; -} -export interface TracksIdSharePost200Response { - 'data'?: PlaylistsIdSharePost200ResponseAllOfData; - 'error'?: object; - 'success'?: boolean; -} -export interface TracksIdStatsGet200Response { - 'data'?: AuditStatsGet200ResponseAllOfData; - 'error'?: object; - 'success'?: boolean; -} -export interface TracksIdStatusGet200Response { - 'data'?: TracksIdStatusGet200ResponseAllOfData; - 'error'?: object; - 'success'?: boolean; -} -export interface TracksIdStatusGet200ResponseAllOfData { - 'progress'?: number; -} -export interface TracksInitiatePost200Response { - 'data'?: TracksInitiatePost200ResponseAllOfData; - 'error'?: object; - 'success'?: boolean; -} -export interface TracksInitiatePost200ResponseAllOfData { - 'message'?: string; - 'upload_id'?: string; -} -export interface TracksPost201Response { - 'data'?: TracksPost201ResponseAllOfData; - 'error'?: object; - 'success'?: boolean; -} -export interface TracksPost201ResponseAllOfData { - 'track'?: VezaBackendApiInternalModelsTrack; -} -export interface TracksQuotaIdGet200Response { - 'data'?: TracksQuotaIdGet200ResponseAllOfData; - 'error'?: object; - 'success'?: boolean; -} -export interface TracksQuotaIdGet200ResponseAllOfData { - 'quota'?: object; -} -export interface TracksRecommendationsGet200Response { - 'data'?: TracksRecommendationsGet200ResponseAllOfData; - 'error'?: object; - 'success'?: boolean; -} -export interface TracksRecommendationsGet200ResponseAllOfData { - 'tracks'?: Array; -} -export interface TracksResumeUploadIdGet200Response { - 'data'?: TracksResumeUploadIdGet200ResponseAllOfData; - 'error'?: object; - 'success'?: boolean; -} -export interface TracksResumeUploadIdGet200ResponseAllOfData { - 'chunks_received'?: number; - 'upload_id'?: string; -} -export interface TracksSharedTokenGet200Response { - 'data'?: TracksSharedTokenGet200ResponseAllOfData; - 'error'?: object; - 'success'?: boolean; -} -export interface TracksSharedTokenGet200ResponseAllOfData { - 'share'?: object; - 'track'?: VezaBackendApiInternalModelsTrack; -} -export interface TracksSuggestedTagsGet200Response { - 'data'?: TracksSuggestedTagsGet200ResponseAllOfData; - 'error'?: object; - 'success'?: boolean; -} -export interface TracksSuggestedTagsGet200ResponseAllOfData { - 'tags'?: Array; -} -export interface UsersGet200Response { - 'data'?: UsersGet200ResponseAllOfData; - 'error'?: object; - 'success'?: boolean; -} -export interface UsersGet200ResponseAllOfData { - 'pagination'?: object; - 'users'?: Array; -} -export interface UsersIdGet200Response { - 'data'?: UsersIdGet200ResponseAllOfData; - 'error'?: object; - 'success'?: boolean; -} -export interface UsersIdGet200ResponseAllOfData { - 'profile'?: object; -} -export interface UsersIdLikesGet200Response { - 'data'?: UsersIdLikesGet200ResponseAllOfData; - 'error'?: object; - 'success'?: boolean; -} -export interface UsersIdLikesGet200ResponseAllOfData { - 'limit'?: number; - 'offset'?: number; - 'total'?: number; - 'tracks'?: Array; -} -export interface UsersSearchGet200Response { - 'data'?: UsersSearchGet200ResponseAllOfData; - 'error'?: object; - 'success'?: boolean; -} -export interface UsersSearchGet200ResponseAllOfData { - 'pagination'?: object; - 'users'?: Array; -} -export interface UsersSuggestionsGet200Response { - 'data'?: UsersSuggestionsGet200ResponseAllOfData; - 'error'?: object; - 'success'?: boolean; -} -export interface UsersSuggestionsGet200ResponseAllOfData { - 'users'?: Array; -} - -export const VezaBackendApiInternalCoreMarketplaceLicenseType = { - LicenseBasic: 'basic', - LicensePremium: 'premium', - LicenseExclusive: 'exclusive' -} as const; - -export type VezaBackendApiInternalCoreMarketplaceLicenseType = typeof VezaBackendApiInternalCoreMarketplaceLicenseType[keyof typeof VezaBackendApiInternalCoreMarketplaceLicenseType]; - - -export interface VezaBackendApiInternalCoreMarketplaceOrder { - 'buyer_id'?: string; - 'created_at'?: string; - 'currency'?: string; - 'discount_amount_cents'?: number; - 'hyperswitch_payment_id'?: string; - 'id'?: string; - 'items'?: Array; - /** - * Legacy / Stripe PaymentIntent ID - */ - 'payment_intent'?: string; - /** - * Hyperswitch payment status - */ - 'payment_status'?: string; - 'promo_code_id'?: string; - /** - * v0.12.0: 14-day refund deadline - */ - 'refund_deadline'?: string; - /** - * pending, completed, failed, refunded - */ - 'status'?: string; - 'total_amount'?: number; - 'updated_at'?: string; -} -export interface VezaBackendApiInternalCoreMarketplaceOrderItem { - 'id'?: string; - 'order_id'?: string; - 'price'?: number; - 'product_id'?: string; -} -export interface VezaBackendApiInternalCoreMarketplaceProduct { - /** - * v0.403 R1: Computed from product_reviews (not stored in DB) - */ - 'avg_rating'?: number; - /** - * v0.401 M1: Métadonnées musicales et catégorie - */ - 'bpm'?: number; - /** - * sample, beat, preset, pack - */ - 'category'?: string; - 'created_at'?: string; - 'currency'?: string; - 'description'?: string; - 'id'?: string; - 'images'?: Array; - 'license_type'?: VezaBackendApiInternalCoreMarketplaceLicenseType; - 'licenses'?: Array; - 'musical_key'?: string; - /** - * Relations - */ - 'previews'?: Array; - 'price'?: number; - /** - * \"track\", \"pack\", \"service\" - */ - 'product_type'?: string; - 'review_count'?: number; - 'seller_id'?: string; - 'status'?: VezaBackendApiInternalCoreMarketplaceProductStatus; - 'title'?: string; - /** - * Liaison optionnelle avec un Track (si ProductType == \"track\") - */ - 'track_id'?: string; - 'updated_at'?: string; -} - - -export interface VezaBackendApiInternalCoreMarketplaceProductImage { - 'created_at'?: string; - 'id'?: string; - 'product_id'?: string; - 'sort_order'?: number; - 'url'?: string; -} -export interface VezaBackendApiInternalCoreMarketplaceProductLicense { - 'created_at'?: string; - 'id'?: string; - /** - * streaming, personal, commercial, exclusive - */ - 'license_type'?: string; - 'price_cents'?: number; - 'product_id'?: string; - 'terms_text'?: string; -} -export interface VezaBackendApiInternalCoreMarketplaceProductPreview { - 'created_at'?: string; - 'duration_sec'?: number; - 'file_path'?: string; - 'id'?: string; - 'product_id'?: string; -} - -export const VezaBackendApiInternalCoreMarketplaceProductStatus = { - ProductStatusDraft: 'draft', - ProductStatusActive: 'active', - ProductStatusArchived: 'archived' -} as const; - -export type VezaBackendApiInternalCoreMarketplaceProductStatus = typeof VezaBackendApiInternalCoreMarketplaceProductStatus[keyof typeof VezaBackendApiInternalCoreMarketplaceProductStatus]; - - -export interface VezaBackendApiInternalDtoLoginRequest { - 'email': string; - 'password': string; - 'remember_me'?: boolean; -} -export interface VezaBackendApiInternalDtoLoginResponse { - /** - * BE-API-001: Flag indicating 2FA is required - */ - 'requires_2fa'?: boolean; - 'token'?: VezaBackendApiInternalDtoTokenResponse; - 'user'?: VezaBackendApiInternalDtoUserResponse; -} -export interface VezaBackendApiInternalDtoRefreshRequest { - 'refresh_token': string; -} -export interface VezaBackendApiInternalDtoRegisterRequest { - 'email': string; - 'password': string; - 'password_confirmation': string; - 'username'?: string; -} -export interface VezaBackendApiInternalDtoRegisterResponse { - 'token'?: VezaBackendApiInternalDtoTokenResponse; - 'user'?: VezaBackendApiInternalDtoUserResponse; -} -export interface VezaBackendApiInternalDtoResendVerificationRequest { - 'email': string; -} -export interface VezaBackendApiInternalDtoTokenResponse { - 'access_token'?: string; - 'expires_in'?: number; - 'refresh_token'?: string; -} -export interface VezaBackendApiInternalDtoUserResponse { - 'email'?: string; - 'id'?: string; - 'username'?: string; -} -export interface VezaBackendApiInternalDtoValidationError { - 'field'?: string; - 'message'?: string; - 'value'?: string; -} -export interface VezaBackendApiInternalHandlersAPIResponse { - 'data'?: object; - 'error'?: object; - 'success'?: boolean; -} -export interface VezaBackendApiInternalModelsPlaylist { - 'collaborators'?: Array; - 'cover_url'?: string; - 'created_at'?: string; - 'description'?: string; - 'follower_count'?: number; - 'id'?: string; - /** - * v0.10.4 F136 - */ - 'is_default_favorites'?: boolean; - /** - * v0.10.4 F141 - */ - 'is_editorial'?: boolean; - 'is_public'?: boolean; - 'title'?: string; - 'track_count'?: number; - 'tracks'?: Array; - 'updated_at'?: string; - 'user_id'?: string; -} -export interface VezaBackendApiInternalModelsPlaylistCollaborator { - 'created_at'?: string; - 'id'?: string; - 'permission'?: VezaBackendApiInternalModelsPlaylistPermission; - 'playlist_id'?: string; - 'updated_at'?: string; - 'user'?: VezaBackendApiInternalModelsUser; - 'user_id'?: string; -} - - - -export const VezaBackendApiInternalModelsPlaylistPermission = { - PlaylistPermissionRead: 'read', - PlaylistPermissionWrite: 'write', - PlaylistPermissionAdmin: 'admin' -} as const; - -export type VezaBackendApiInternalModelsPlaylistPermission = typeof VezaBackendApiInternalModelsPlaylistPermission[keyof typeof VezaBackendApiInternalModelsPlaylistPermission]; - - -export interface VezaBackendApiInternalModelsPlaylistTrack { - 'added_at'?: string; - 'added_by'?: string; - 'id'?: string; - 'playlist_id'?: string; - 'position'?: number; - 'track'?: VezaBackendApiInternalModelsTrack; - 'track_id'?: string; -} -export interface VezaBackendApiInternalModelsTrack { - 'album'?: string; - 'artist'?: string; - /** - * kbps - */ - 'bitrate'?: number; - 'bpm'?: number; - 'cover_art_path'?: string; - 'created_at'?: string; - 'creator_id'?: string; - /** - * seconds - */ - 'duration'?: number; - /** - * NULL temporairement avant création fichier - */ - 'file_id'?: string; - 'file_path'?: string; - /** - * bytes - */ - 'file_size'?: number; - /** - * mp3, flac, wav, etc. - */ - 'format'?: string; - 'genre'?: string; - 'id'?: string; - 'is_public'?: boolean; - 'musical_key'?: string; - /** - * Hz - */ - 'sample_rate'?: number; - 'status'?: VezaBackendApiInternalModelsTrackStatus; - 'status_message'?: string; - 'stream_manifest_url'?: string; - /** - * pending, processing, ready, error - */ - 'stream_status'?: string; - 'tags'?: Array; - 'title'?: string; - 'updated_at'?: string; - 'waveform_path'?: string; - 'waveform_url'?: string; - 'year'?: number; -} - - - -export const VezaBackendApiInternalModelsTrackStatus = { - TrackStatusUploading: 'uploading', - TrackStatusProcessing: 'processing', - TrackStatusCompleted: 'completed', - TrackStatusFailed: 'failed' -} as const; - -export type VezaBackendApiInternalModelsTrackStatus = typeof VezaBackendApiInternalModelsTrackStatus[keyof typeof VezaBackendApiInternalModelsTrackStatus]; - - -export interface VezaBackendApiInternalModelsUser { - 'avatar'?: string; - 'banner_url'?: string; - 'bio'?: string; - 'birthdate'?: string; - 'created_at'?: string; - 'email'?: string; - 'first_name'?: string; - 'gender'?: string; - 'id'?: string; - 'is_active'?: boolean; - 'is_admin'?: boolean; - 'is_banned'?: boolean; - 'is_public'?: boolean; - 'is_verified'?: boolean; - 'last_login_at'?: string; - 'last_name'?: string; - 'location'?: string; - 'login_count'?: number; - /** - * Virtual field for input - */ - 'password'?: string; - /** - * F016: Password expiration tracking - */ - 'password_changed_at'?: string; - /** - * v1.0.6: set the first time a user self-promotes to `role=\'creator\'` via POST /api/v1/users/me/upgrade-creator. NULL for users who never took that path (still \'user\', or promoted by an admin out-of-band). - */ - 'promoted_to_creator_at'?: string; - 'role'?: string; - 'slug'?: string; - 'social_links'?: string; - 'token_version'?: number; - 'updated_at'?: string; - 'username'?: string; - 'username_changed_at'?: string; -} -export interface VezaBackendApiInternalResponseAPIResponse { - 'data'?: object; - 'error'?: object; - 'success'?: boolean; -} -export interface WebhooksGet200Response { - 'data'?: WebhooksGet200ResponseAllOfData; - 'error'?: object; - 'success'?: boolean; -} -export interface WebhooksGet200ResponseAllOfData { - 'webhooks'?: Array; -} -export interface WebhooksIdRegenerateKeyPost200Response { - 'data'?: WebhooksIdRegenerateKeyPost200ResponseAllOfData; - 'error'?: object; - 'success'?: boolean; -} -export interface WebhooksIdRegenerateKeyPost200ResponseAllOfData { - 'api_key'?: string; - 'message'?: string; -} -export interface WebhooksPost201Response { - 'data'?: WebhooksPost201ResponseAllOfData; - 'error'?: object; - 'success'?: boolean; -} -export interface WebhooksPost201ResponseAllOfData { - 'webhook'?: object; -} - -/** - * AuditApi - axios parameter creator - */ -export const AuditApiAxiosParamCreator = function (configuration?: Configuration) { - return { - /** - * Get recent activity logs for the current user - * @summary Get user activity - * @param {number} [limit] Number of activities to return - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - auditActivityGet: async (limit?: number, options: RawAxiosRequestConfig = {}): Promise => { - const localVarPath = `/audit/activity`; - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - // authentication BearerAuth required - await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration) - - if (limit !== undefined) { - localVarQueryParameter['limit'] = limit; - } - - localVarHeaderParameter['Accept'] = 'application/json'; - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - /** - * Search and filter audit logs with pagination support. Supports filtering by action, resource, date range, IP address, and user agent. - * @summary Search audit logs - * @param {string} [action] Filter by action type - * @param {string} [resource] Filter by resource type - * @param {string} [resourceId] Filter by resource ID (UUID) - * @param {string} [ipAddress] Filter by IP address - * @param {string} [userAgent] Filter by user agent - * @param {string} [startDate] Start date filter (YYYY-MM-DD) - * @param {string} [endDate] End date filter (YYYY-MM-DD) - * @param {number} [page] Page number - * @param {number} [limit] Items per page - * @param {number} [offset] Offset for pagination - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - auditLogsGet: async (action?: string, resource?: string, resourceId?: string, ipAddress?: string, userAgent?: string, startDate?: string, endDate?: string, page?: number, limit?: number, offset?: number, options: RawAxiosRequestConfig = {}): Promise => { - const localVarPath = `/audit/logs`; - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - // authentication BearerAuth required - await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration) - - if (action !== undefined) { - localVarQueryParameter['action'] = action; - } - - if (resource !== undefined) { - localVarQueryParameter['resource'] = resource; - } - - if (resourceId !== undefined) { - localVarQueryParameter['resource_id'] = resourceId; - } - - if (ipAddress !== undefined) { - localVarQueryParameter['ip_address'] = ipAddress; - } - - if (userAgent !== undefined) { - localVarQueryParameter['user_agent'] = userAgent; - } - - if (startDate !== undefined) { - localVarQueryParameter['start_date'] = startDate; - } - - if (endDate !== undefined) { - localVarQueryParameter['end_date'] = endDate; - } - - if (page !== undefined) { - localVarQueryParameter['page'] = page; - } - - if (limit !== undefined) { - localVarQueryParameter['limit'] = limit; - } - - if (offset !== undefined) { - localVarQueryParameter['offset'] = offset; - } - - localVarHeaderParameter['Accept'] = 'application/json'; - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - /** - * Get audit statistics for the current user, optionally filtered by date range - * @summary Get audit statistics - * @param {string} [startDate] Start date (YYYY-MM-DD) - * @param {string} [endDate] End date (YYYY-MM-DD) - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - auditStatsGet: async (startDate?: string, endDate?: string, options: RawAxiosRequestConfig = {}): Promise => { - const localVarPath = `/audit/stats`; - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - // authentication BearerAuth required - await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration) - - if (startDate !== undefined) { - localVarQueryParameter['start_date'] = startDate; - } - - if (endDate !== undefined) { - localVarQueryParameter['end_date'] = endDate; - } - - localVarHeaderParameter['Accept'] = 'application/json'; - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - } -}; - -/** - * AuditApi - functional programming interface - */ -export const AuditApiFp = function(configuration?: Configuration) { - const localVarAxiosParamCreator = AuditApiAxiosParamCreator(configuration) - return { - /** - * Get recent activity logs for the current user - * @summary Get user activity - * @param {number} [limit] Number of activities to return - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async auditActivityGet(limit?: number, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.auditActivityGet(limit, options); - const localVarOperationServerIndex = configuration?.serverIndex ?? 0; - const localVarOperationServerBasePath = operationServerMap['AuditApi.auditActivityGet']?.[localVarOperationServerIndex]?.url; - return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); - }, - /** - * Search and filter audit logs with pagination support. Supports filtering by action, resource, date range, IP address, and user agent. - * @summary Search audit logs - * @param {string} [action] Filter by action type - * @param {string} [resource] Filter by resource type - * @param {string} [resourceId] Filter by resource ID (UUID) - * @param {string} [ipAddress] Filter by IP address - * @param {string} [userAgent] Filter by user agent - * @param {string} [startDate] Start date filter (YYYY-MM-DD) - * @param {string} [endDate] End date filter (YYYY-MM-DD) - * @param {number} [page] Page number - * @param {number} [limit] Items per page - * @param {number} [offset] Offset for pagination - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async auditLogsGet(action?: string, resource?: string, resourceId?: string, ipAddress?: string, userAgent?: string, startDate?: string, endDate?: string, page?: number, limit?: number, offset?: number, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.auditLogsGet(action, resource, resourceId, ipAddress, userAgent, startDate, endDate, page, limit, offset, options); - const localVarOperationServerIndex = configuration?.serverIndex ?? 0; - const localVarOperationServerBasePath = operationServerMap['AuditApi.auditLogsGet']?.[localVarOperationServerIndex]?.url; - return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); - }, - /** - * Get audit statistics for the current user, optionally filtered by date range - * @summary Get audit statistics - * @param {string} [startDate] Start date (YYYY-MM-DD) - * @param {string} [endDate] End date (YYYY-MM-DD) - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async auditStatsGet(startDate?: string, endDate?: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.auditStatsGet(startDate, endDate, options); - const localVarOperationServerIndex = configuration?.serverIndex ?? 0; - const localVarOperationServerBasePath = operationServerMap['AuditApi.auditStatsGet']?.[localVarOperationServerIndex]?.url; - return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); - }, - } -}; - -/** - * AuditApi - factory interface - */ -export const AuditApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) { - const localVarFp = AuditApiFp(configuration) - return { - /** - * Get recent activity logs for the current user - * @summary Get user activity - * @param {number} [limit] Number of activities to return - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - auditActivityGet(limit?: number, options?: RawAxiosRequestConfig): AxiosPromise { - return localVarFp.auditActivityGet(limit, options).then((request) => request(axios, basePath)); - }, - /** - * Search and filter audit logs with pagination support. Supports filtering by action, resource, date range, IP address, and user agent. - * @summary Search audit logs - * @param {string} [action] Filter by action type - * @param {string} [resource] Filter by resource type - * @param {string} [resourceId] Filter by resource ID (UUID) - * @param {string} [ipAddress] Filter by IP address - * @param {string} [userAgent] Filter by user agent - * @param {string} [startDate] Start date filter (YYYY-MM-DD) - * @param {string} [endDate] End date filter (YYYY-MM-DD) - * @param {number} [page] Page number - * @param {number} [limit] Items per page - * @param {number} [offset] Offset for pagination - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - auditLogsGet(action?: string, resource?: string, resourceId?: string, ipAddress?: string, userAgent?: string, startDate?: string, endDate?: string, page?: number, limit?: number, offset?: number, options?: RawAxiosRequestConfig): AxiosPromise { - return localVarFp.auditLogsGet(action, resource, resourceId, ipAddress, userAgent, startDate, endDate, page, limit, offset, options).then((request) => request(axios, basePath)); - }, - /** - * Get audit statistics for the current user, optionally filtered by date range - * @summary Get audit statistics - * @param {string} [startDate] Start date (YYYY-MM-DD) - * @param {string} [endDate] End date (YYYY-MM-DD) - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - auditStatsGet(startDate?: string, endDate?: string, options?: RawAxiosRequestConfig): AxiosPromise { - return localVarFp.auditStatsGet(startDate, endDate, options).then((request) => request(axios, basePath)); - }, - }; -}; - -/** - * AuditApi - interface - */ -export interface AuditApiInterface { - /** - * Get recent activity logs for the current user - * @summary Get user activity - * @param {number} [limit] Number of activities to return - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - auditActivityGet(limit?: number, options?: RawAxiosRequestConfig): AxiosPromise; - - /** - * Search and filter audit logs with pagination support. Supports filtering by action, resource, date range, IP address, and user agent. - * @summary Search audit logs - * @param {string} [action] Filter by action type - * @param {string} [resource] Filter by resource type - * @param {string} [resourceId] Filter by resource ID (UUID) - * @param {string} [ipAddress] Filter by IP address - * @param {string} [userAgent] Filter by user agent - * @param {string} [startDate] Start date filter (YYYY-MM-DD) - * @param {string} [endDate] End date filter (YYYY-MM-DD) - * @param {number} [page] Page number - * @param {number} [limit] Items per page - * @param {number} [offset] Offset for pagination - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - auditLogsGet(action?: string, resource?: string, resourceId?: string, ipAddress?: string, userAgent?: string, startDate?: string, endDate?: string, page?: number, limit?: number, offset?: number, options?: RawAxiosRequestConfig): AxiosPromise; - - /** - * Get audit statistics for the current user, optionally filtered by date range - * @summary Get audit statistics - * @param {string} [startDate] Start date (YYYY-MM-DD) - * @param {string} [endDate] End date (YYYY-MM-DD) - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - auditStatsGet(startDate?: string, endDate?: string, options?: RawAxiosRequestConfig): AxiosPromise; - -} - -/** - * AuditApi - object-oriented interface - */ -export class AuditApi extends BaseAPI implements AuditApiInterface { - /** - * Get recent activity logs for the current user - * @summary Get user activity - * @param {number} [limit] Number of activities to return - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - public auditActivityGet(limit?: number, options?: RawAxiosRequestConfig) { - return AuditApiFp(this.configuration).auditActivityGet(limit, options).then((request) => request(this.axios, this.basePath)); - } - - /** - * Search and filter audit logs with pagination support. Supports filtering by action, resource, date range, IP address, and user agent. - * @summary Search audit logs - * @param {string} [action] Filter by action type - * @param {string} [resource] Filter by resource type - * @param {string} [resourceId] Filter by resource ID (UUID) - * @param {string} [ipAddress] Filter by IP address - * @param {string} [userAgent] Filter by user agent - * @param {string} [startDate] Start date filter (YYYY-MM-DD) - * @param {string} [endDate] End date filter (YYYY-MM-DD) - * @param {number} [page] Page number - * @param {number} [limit] Items per page - * @param {number} [offset] Offset for pagination - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - public auditLogsGet(action?: string, resource?: string, resourceId?: string, ipAddress?: string, userAgent?: string, startDate?: string, endDate?: string, page?: number, limit?: number, offset?: number, options?: RawAxiosRequestConfig) { - return AuditApiFp(this.configuration).auditLogsGet(action, resource, resourceId, ipAddress, userAgent, startDate, endDate, page, limit, offset, options).then((request) => request(this.axios, this.basePath)); - } - - /** - * Get audit statistics for the current user, optionally filtered by date range - * @summary Get audit statistics - * @param {string} [startDate] Start date (YYYY-MM-DD) - * @param {string} [endDate] End date (YYYY-MM-DD) - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - public auditStatsGet(startDate?: string, endDate?: string, options?: RawAxiosRequestConfig) { - return AuditApiFp(this.configuration).auditStatsGet(startDate, endDate, options).then((request) => request(this.axios, this.basePath)); - } -} - - - -/** - * AuthApi - axios parameter creator - */ -export const AuthApiAxiosParamCreator = function (configuration?: Configuration) { - return { - /** - * Disable 2FA for user (requires password confirmation) - * @summary Disable 2FA - * @param {InternalHandlersDisableTwoFactorRequest} request Password Confirmation - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - auth2faDisablePost: async (request: InternalHandlersDisableTwoFactorRequest, options: RawAxiosRequestConfig = {}): Promise => { - // verify required parameter 'request' is not null or undefined - assertParamExists('auth2faDisablePost', 'request', request) - const localVarPath = `/auth/2fa/disable`; - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - // authentication BearerAuth required - await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration) - - localVarHeaderParameter['Content-Type'] = 'application/json'; - localVarHeaderParameter['Accept'] = 'application/json'; - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - localVarRequestOptions.data = serializeDataIfNeeded(request, localVarRequestOptions, configuration) - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - /** - * Generate 2FA secret and QR code for setup - * @summary Setup 2FA - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - auth2faSetupPost: async (options: RawAxiosRequestConfig = {}): Promise => { - const localVarPath = `/auth/2fa/setup`; - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - // authentication BearerAuth required - await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration) - - localVarHeaderParameter['Accept'] = 'application/json'; - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - /** - * Get 2FA enabled status for authenticated user - * @summary Get 2FA Status - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - auth2faStatusGet: async (options: RawAxiosRequestConfig = {}): Promise => { - const localVarPath = `/auth/2fa/status`; - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - // authentication BearerAuth required - await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration) - - localVarHeaderParameter['Accept'] = 'application/json'; - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - /** - * Verify 2FA code and enable 2FA for user - * @summary Verify and Enable 2FA - * @param {InternalHandlersVerifyTwoFactorRequest} request 2FA Code - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - auth2faVerifyPost: async (request: InternalHandlersVerifyTwoFactorRequest, options: RawAxiosRequestConfig = {}): Promise => { - // verify required parameter 'request' is not null or undefined - assertParamExists('auth2faVerifyPost', 'request', request) - const localVarPath = `/auth/2fa/verify`; - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - // authentication BearerAuth required - await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration) - - localVarHeaderParameter['Content-Type'] = 'application/json'; - localVarHeaderParameter['Accept'] = 'application/json'; - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - localVarRequestOptions.data = serializeDataIfNeeded(request, localVarRequestOptions, configuration) - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - /** - * Check if a username is already taken - * @summary Check Username Availability - * @param {string} username Username to check - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - authCheckUsernameGet: async (username: string, options: RawAxiosRequestConfig = {}): Promise => { - // verify required parameter 'username' is not null or undefined - assertParamExists('authCheckUsernameGet', 'username', username) - const localVarPath = `/auth/check-username`; - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - if (username !== undefined) { - localVarQueryParameter['username'] = username; - } - - localVarHeaderParameter['Accept'] = 'application/json'; - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - /** - * Authenticate user and return access token. Refresh token is set in httpOnly cookie. - * @summary User Login - * @param {VezaBackendApiInternalDtoLoginRequest} request Login Credentials - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - authLoginPost: async (request: VezaBackendApiInternalDtoLoginRequest, options: RawAxiosRequestConfig = {}): Promise => { - // verify required parameter 'request' is not null or undefined - assertParamExists('authLoginPost', 'request', request) - const localVarPath = `/auth/login`; - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - localVarHeaderParameter['Content-Type'] = 'application/json'; - localVarHeaderParameter['Accept'] = 'application/json'; - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - localVarRequestOptions.data = serializeDataIfNeeded(request, localVarRequestOptions, configuration) - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - /** - * Revoke refresh token and current session - * @summary Logout - * @param {AuthLogoutPostRequest} request Refresh Token to revoke - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - authLogoutPost: async (request: AuthLogoutPostRequest, options: RawAxiosRequestConfig = {}): Promise => { - // verify required parameter 'request' is not null or undefined - assertParamExists('authLogoutPost', 'request', request) - const localVarPath = `/auth/logout`; - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - // authentication BearerAuth required - await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration) - - localVarHeaderParameter['Content-Type'] = 'application/json'; - localVarHeaderParameter['Accept'] = 'application/json'; - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - localVarRequestOptions.data = serializeDataIfNeeded(request, localVarRequestOptions, configuration) - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - /** - * Get profile information of the currently logged-in user - * @summary Get Current User - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - authMeGet: async (options: RawAxiosRequestConfig = {}): Promise => { - const localVarPath = `/auth/me`; - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - // authentication BearerAuth required - await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration) - - localVarHeaderParameter['Accept'] = 'application/json'; - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - /** - * Get a new access token using a refresh token - * @summary Refresh Token - * @param {VezaBackendApiInternalDtoRefreshRequest} request Refresh Token - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - authRefreshPost: async (request: VezaBackendApiInternalDtoRefreshRequest, options: RawAxiosRequestConfig = {}): Promise => { - // verify required parameter 'request' is not null or undefined - assertParamExists('authRefreshPost', 'request', request) - const localVarPath = `/auth/refresh`; - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - localVarHeaderParameter['Content-Type'] = 'application/json'; - localVarHeaderParameter['Accept'] = 'application/json'; - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - localVarRequestOptions.data = serializeDataIfNeeded(request, localVarRequestOptions, configuration) - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - /** - * Register a new user account - * @summary User Registration - * @param {VezaBackendApiInternalDtoRegisterRequest} request Registration Data - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - authRegisterPost: async (request: VezaBackendApiInternalDtoRegisterRequest, options: RawAxiosRequestConfig = {}): Promise => { - // verify required parameter 'request' is not null or undefined - assertParamExists('authRegisterPost', 'request', request) - const localVarPath = `/auth/register`; - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - localVarHeaderParameter['Content-Type'] = 'application/json'; - localVarHeaderParameter['Accept'] = 'application/json'; - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - localVarRequestOptions.data = serializeDataIfNeeded(request, localVarRequestOptions, configuration) - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - /** - * Resend the email verification link - * @summary Resend Verification Email - * @param {VezaBackendApiInternalDtoResendVerificationRequest} request Email - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - authResendVerificationPost: async (request: VezaBackendApiInternalDtoResendVerificationRequest, options: RawAxiosRequestConfig = {}): Promise => { - // verify required parameter 'request' is not null or undefined - assertParamExists('authResendVerificationPost', 'request', request) - const localVarPath = `/auth/resend-verification`; - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - localVarHeaderParameter['Content-Type'] = 'application/json'; - localVarHeaderParameter['Accept'] = 'application/json'; - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - localVarRequestOptions.data = serializeDataIfNeeded(request, localVarRequestOptions, configuration) - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - /** - * Returns a 5-minute JWT for HLS and WebSocket authentication (httpOnly cookies prevent direct token access) - * @summary Get ephemeral stream token - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - authStreamTokenPost: async (options: RawAxiosRequestConfig = {}): Promise => { - const localVarPath = `/auth/stream-token`; - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - // authentication BearerAuth required - await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration) - - localVarHeaderParameter['Accept'] = '*/*'; - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - /** - * Verify user email address using a token - * @summary Verify Email - * @param {string} token Verification Token - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - authVerifyEmailPost: async (token: string, options: RawAxiosRequestConfig = {}): Promise => { - // verify required parameter 'token' is not null or undefined - assertParamExists('authVerifyEmailPost', 'token', token) - const localVarPath = `/auth/verify-email`; - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - if (token !== undefined) { - localVarQueryParameter['token'] = token; - } - - localVarHeaderParameter['Accept'] = 'application/json'; - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - } -}; - -/** - * AuthApi - functional programming interface - */ -export const AuthApiFp = function(configuration?: Configuration) { - const localVarAxiosParamCreator = AuthApiAxiosParamCreator(configuration) - return { - /** - * Disable 2FA for user (requires password confirmation) - * @summary Disable 2FA - * @param {InternalHandlersDisableTwoFactorRequest} request Password Confirmation - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async auth2faDisablePost(request: InternalHandlersDisableTwoFactorRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.auth2faDisablePost(request, options); - const localVarOperationServerIndex = configuration?.serverIndex ?? 0; - const localVarOperationServerBasePath = operationServerMap['AuthApi.auth2faDisablePost']?.[localVarOperationServerIndex]?.url; - return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); - }, - /** - * Generate 2FA secret and QR code for setup - * @summary Setup 2FA - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async auth2faSetupPost(options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.auth2faSetupPost(options); - const localVarOperationServerIndex = configuration?.serverIndex ?? 0; - const localVarOperationServerBasePath = operationServerMap['AuthApi.auth2faSetupPost']?.[localVarOperationServerIndex]?.url; - return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); - }, - /** - * Get 2FA enabled status for authenticated user - * @summary Get 2FA Status - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async auth2faStatusGet(options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.auth2faStatusGet(options); - const localVarOperationServerIndex = configuration?.serverIndex ?? 0; - const localVarOperationServerBasePath = operationServerMap['AuthApi.auth2faStatusGet']?.[localVarOperationServerIndex]?.url; - return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); - }, - /** - * Verify 2FA code and enable 2FA for user - * @summary Verify and Enable 2FA - * @param {InternalHandlersVerifyTwoFactorRequest} request 2FA Code - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async auth2faVerifyPost(request: InternalHandlersVerifyTwoFactorRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.auth2faVerifyPost(request, options); - const localVarOperationServerIndex = configuration?.serverIndex ?? 0; - const localVarOperationServerBasePath = operationServerMap['AuthApi.auth2faVerifyPost']?.[localVarOperationServerIndex]?.url; - return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); - }, - /** - * Check if a username is already taken - * @summary Check Username Availability - * @param {string} username Username to check - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async authCheckUsernameGet(username: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.authCheckUsernameGet(username, options); - const localVarOperationServerIndex = configuration?.serverIndex ?? 0; - const localVarOperationServerBasePath = operationServerMap['AuthApi.authCheckUsernameGet']?.[localVarOperationServerIndex]?.url; - return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); - }, - /** - * Authenticate user and return access token. Refresh token is set in httpOnly cookie. - * @summary User Login - * @param {VezaBackendApiInternalDtoLoginRequest} request Login Credentials - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async authLoginPost(request: VezaBackendApiInternalDtoLoginRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.authLoginPost(request, options); - const localVarOperationServerIndex = configuration?.serverIndex ?? 0; - const localVarOperationServerBasePath = operationServerMap['AuthApi.authLoginPost']?.[localVarOperationServerIndex]?.url; - return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); - }, - /** - * Revoke refresh token and current session - * @summary Logout - * @param {AuthLogoutPostRequest} request Refresh Token to revoke - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async authLogoutPost(request: AuthLogoutPostRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.authLogoutPost(request, options); - const localVarOperationServerIndex = configuration?.serverIndex ?? 0; - const localVarOperationServerBasePath = operationServerMap['AuthApi.authLogoutPost']?.[localVarOperationServerIndex]?.url; - return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); - }, - /** - * Get profile information of the currently logged-in user - * @summary Get Current User - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async authMeGet(options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.authMeGet(options); - const localVarOperationServerIndex = configuration?.serverIndex ?? 0; - const localVarOperationServerBasePath = operationServerMap['AuthApi.authMeGet']?.[localVarOperationServerIndex]?.url; - return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); - }, - /** - * Get a new access token using a refresh token - * @summary Refresh Token - * @param {VezaBackendApiInternalDtoRefreshRequest} request Refresh Token - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async authRefreshPost(request: VezaBackendApiInternalDtoRefreshRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.authRefreshPost(request, options); - const localVarOperationServerIndex = configuration?.serverIndex ?? 0; - const localVarOperationServerBasePath = operationServerMap['AuthApi.authRefreshPost']?.[localVarOperationServerIndex]?.url; - return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); - }, - /** - * Register a new user account - * @summary User Registration - * @param {VezaBackendApiInternalDtoRegisterRequest} request Registration Data - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async authRegisterPost(request: VezaBackendApiInternalDtoRegisterRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.authRegisterPost(request, options); - const localVarOperationServerIndex = configuration?.serverIndex ?? 0; - const localVarOperationServerBasePath = operationServerMap['AuthApi.authRegisterPost']?.[localVarOperationServerIndex]?.url; - return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); - }, - /** - * Resend the email verification link - * @summary Resend Verification Email - * @param {VezaBackendApiInternalDtoResendVerificationRequest} request Email - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async authResendVerificationPost(request: VezaBackendApiInternalDtoResendVerificationRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.authResendVerificationPost(request, options); - const localVarOperationServerIndex = configuration?.serverIndex ?? 0; - const localVarOperationServerBasePath = operationServerMap['AuthApi.authResendVerificationPost']?.[localVarOperationServerIndex]?.url; - return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); - }, - /** - * Returns a 5-minute JWT for HLS and WebSocket authentication (httpOnly cookies prevent direct token access) - * @summary Get ephemeral stream token - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async authStreamTokenPost(options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.authStreamTokenPost(options); - const localVarOperationServerIndex = configuration?.serverIndex ?? 0; - const localVarOperationServerBasePath = operationServerMap['AuthApi.authStreamTokenPost']?.[localVarOperationServerIndex]?.url; - return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); - }, - /** - * Verify user email address using a token - * @summary Verify Email - * @param {string} token Verification Token - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async authVerifyEmailPost(token: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.authVerifyEmailPost(token, options); - const localVarOperationServerIndex = configuration?.serverIndex ?? 0; - const localVarOperationServerBasePath = operationServerMap['AuthApi.authVerifyEmailPost']?.[localVarOperationServerIndex]?.url; - return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); - }, - } -}; - -/** - * AuthApi - factory interface - */ -export const AuthApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) { - const localVarFp = AuthApiFp(configuration) - return { - /** - * Disable 2FA for user (requires password confirmation) - * @summary Disable 2FA - * @param {InternalHandlersDisableTwoFactorRequest} request Password Confirmation - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - auth2faDisablePost(request: InternalHandlersDisableTwoFactorRequest, options?: RawAxiosRequestConfig): AxiosPromise { - return localVarFp.auth2faDisablePost(request, options).then((request) => request(axios, basePath)); - }, - /** - * Generate 2FA secret and QR code for setup - * @summary Setup 2FA - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - auth2faSetupPost(options?: RawAxiosRequestConfig): AxiosPromise { - return localVarFp.auth2faSetupPost(options).then((request) => request(axios, basePath)); - }, - /** - * Get 2FA enabled status for authenticated user - * @summary Get 2FA Status - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - auth2faStatusGet(options?: RawAxiosRequestConfig): AxiosPromise { - return localVarFp.auth2faStatusGet(options).then((request) => request(axios, basePath)); - }, - /** - * Verify 2FA code and enable 2FA for user - * @summary Verify and Enable 2FA - * @param {InternalHandlersVerifyTwoFactorRequest} request 2FA Code - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - auth2faVerifyPost(request: InternalHandlersVerifyTwoFactorRequest, options?: RawAxiosRequestConfig): AxiosPromise { - return localVarFp.auth2faVerifyPost(request, options).then((request) => request(axios, basePath)); - }, - /** - * Check if a username is already taken - * @summary Check Username Availability - * @param {string} username Username to check - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - authCheckUsernameGet(username: string, options?: RawAxiosRequestConfig): AxiosPromise { - return localVarFp.authCheckUsernameGet(username, options).then((request) => request(axios, basePath)); - }, - /** - * Authenticate user and return access token. Refresh token is set in httpOnly cookie. - * @summary User Login - * @param {VezaBackendApiInternalDtoLoginRequest} request Login Credentials - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - authLoginPost(request: VezaBackendApiInternalDtoLoginRequest, options?: RawAxiosRequestConfig): AxiosPromise { - return localVarFp.authLoginPost(request, options).then((request) => request(axios, basePath)); - }, - /** - * Revoke refresh token and current session - * @summary Logout - * @param {AuthLogoutPostRequest} request Refresh Token to revoke - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - authLogoutPost(request: AuthLogoutPostRequest, options?: RawAxiosRequestConfig): AxiosPromise { - return localVarFp.authLogoutPost(request, options).then((request) => request(axios, basePath)); - }, - /** - * Get profile information of the currently logged-in user - * @summary Get Current User - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - authMeGet(options?: RawAxiosRequestConfig): AxiosPromise { - return localVarFp.authMeGet(options).then((request) => request(axios, basePath)); - }, - /** - * Get a new access token using a refresh token - * @summary Refresh Token - * @param {VezaBackendApiInternalDtoRefreshRequest} request Refresh Token - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - authRefreshPost(request: VezaBackendApiInternalDtoRefreshRequest, options?: RawAxiosRequestConfig): AxiosPromise { - return localVarFp.authRefreshPost(request, options).then((request) => request(axios, basePath)); - }, - /** - * Register a new user account - * @summary User Registration - * @param {VezaBackendApiInternalDtoRegisterRequest} request Registration Data - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - authRegisterPost(request: VezaBackendApiInternalDtoRegisterRequest, options?: RawAxiosRequestConfig): AxiosPromise { - return localVarFp.authRegisterPost(request, options).then((request) => request(axios, basePath)); - }, - /** - * Resend the email verification link - * @summary Resend Verification Email - * @param {VezaBackendApiInternalDtoResendVerificationRequest} request Email - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - authResendVerificationPost(request: VezaBackendApiInternalDtoResendVerificationRequest, options?: RawAxiosRequestConfig): AxiosPromise { - return localVarFp.authResendVerificationPost(request, options).then((request) => request(axios, basePath)); - }, - /** - * Returns a 5-minute JWT for HLS and WebSocket authentication (httpOnly cookies prevent direct token access) - * @summary Get ephemeral stream token - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - authStreamTokenPost(options?: RawAxiosRequestConfig): AxiosPromise { - return localVarFp.authStreamTokenPost(options).then((request) => request(axios, basePath)); - }, - /** - * Verify user email address using a token - * @summary Verify Email - * @param {string} token Verification Token - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - authVerifyEmailPost(token: string, options?: RawAxiosRequestConfig): AxiosPromise { - return localVarFp.authVerifyEmailPost(token, options).then((request) => request(axios, basePath)); - }, - }; -}; - -/** - * AuthApi - interface - */ -export interface AuthApiInterface { - /** - * Disable 2FA for user (requires password confirmation) - * @summary Disable 2FA - * @param {InternalHandlersDisableTwoFactorRequest} request Password Confirmation - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - auth2faDisablePost(request: InternalHandlersDisableTwoFactorRequest, options?: RawAxiosRequestConfig): AxiosPromise; - - /** - * Generate 2FA secret and QR code for setup - * @summary Setup 2FA - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - auth2faSetupPost(options?: RawAxiosRequestConfig): AxiosPromise; - - /** - * Get 2FA enabled status for authenticated user - * @summary Get 2FA Status - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - auth2faStatusGet(options?: RawAxiosRequestConfig): AxiosPromise; - - /** - * Verify 2FA code and enable 2FA for user - * @summary Verify and Enable 2FA - * @param {InternalHandlersVerifyTwoFactorRequest} request 2FA Code - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - auth2faVerifyPost(request: InternalHandlersVerifyTwoFactorRequest, options?: RawAxiosRequestConfig): AxiosPromise; - - /** - * Check if a username is already taken - * @summary Check Username Availability - * @param {string} username Username to check - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - authCheckUsernameGet(username: string, options?: RawAxiosRequestConfig): AxiosPromise; - - /** - * Authenticate user and return access token. Refresh token is set in httpOnly cookie. - * @summary User Login - * @param {VezaBackendApiInternalDtoLoginRequest} request Login Credentials - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - authLoginPost(request: VezaBackendApiInternalDtoLoginRequest, options?: RawAxiosRequestConfig): AxiosPromise; - - /** - * Revoke refresh token and current session - * @summary Logout - * @param {AuthLogoutPostRequest} request Refresh Token to revoke - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - authLogoutPost(request: AuthLogoutPostRequest, options?: RawAxiosRequestConfig): AxiosPromise; - - /** - * Get profile information of the currently logged-in user - * @summary Get Current User - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - authMeGet(options?: RawAxiosRequestConfig): AxiosPromise; - - /** - * Get a new access token using a refresh token - * @summary Refresh Token - * @param {VezaBackendApiInternalDtoRefreshRequest} request Refresh Token - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - authRefreshPost(request: VezaBackendApiInternalDtoRefreshRequest, options?: RawAxiosRequestConfig): AxiosPromise; - - /** - * Register a new user account - * @summary User Registration - * @param {VezaBackendApiInternalDtoRegisterRequest} request Registration Data - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - authRegisterPost(request: VezaBackendApiInternalDtoRegisterRequest, options?: RawAxiosRequestConfig): AxiosPromise; - - /** - * Resend the email verification link - * @summary Resend Verification Email - * @param {VezaBackendApiInternalDtoResendVerificationRequest} request Email - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - authResendVerificationPost(request: VezaBackendApiInternalDtoResendVerificationRequest, options?: RawAxiosRequestConfig): AxiosPromise; - - /** - * Returns a 5-minute JWT for HLS and WebSocket authentication (httpOnly cookies prevent direct token access) - * @summary Get ephemeral stream token - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - authStreamTokenPost(options?: RawAxiosRequestConfig): AxiosPromise; - - /** - * Verify user email address using a token - * @summary Verify Email - * @param {string} token Verification Token - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - authVerifyEmailPost(token: string, options?: RawAxiosRequestConfig): AxiosPromise; - -} - -/** - * AuthApi - object-oriented interface - */ -export class AuthApi extends BaseAPI implements AuthApiInterface { - /** - * Disable 2FA for user (requires password confirmation) - * @summary Disable 2FA - * @param {InternalHandlersDisableTwoFactorRequest} request Password Confirmation - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - public auth2faDisablePost(request: InternalHandlersDisableTwoFactorRequest, options?: RawAxiosRequestConfig) { - return AuthApiFp(this.configuration).auth2faDisablePost(request, options).then((request) => request(this.axios, this.basePath)); - } - - /** - * Generate 2FA secret and QR code for setup - * @summary Setup 2FA - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - public auth2faSetupPost(options?: RawAxiosRequestConfig) { - return AuthApiFp(this.configuration).auth2faSetupPost(options).then((request) => request(this.axios, this.basePath)); - } - - /** - * Get 2FA enabled status for authenticated user - * @summary Get 2FA Status - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - public auth2faStatusGet(options?: RawAxiosRequestConfig) { - return AuthApiFp(this.configuration).auth2faStatusGet(options).then((request) => request(this.axios, this.basePath)); - } - - /** - * Verify 2FA code and enable 2FA for user - * @summary Verify and Enable 2FA - * @param {InternalHandlersVerifyTwoFactorRequest} request 2FA Code - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - public auth2faVerifyPost(request: InternalHandlersVerifyTwoFactorRequest, options?: RawAxiosRequestConfig) { - return AuthApiFp(this.configuration).auth2faVerifyPost(request, options).then((request) => request(this.axios, this.basePath)); - } - - /** - * Check if a username is already taken - * @summary Check Username Availability - * @param {string} username Username to check - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - public authCheckUsernameGet(username: string, options?: RawAxiosRequestConfig) { - return AuthApiFp(this.configuration).authCheckUsernameGet(username, options).then((request) => request(this.axios, this.basePath)); - } - - /** - * Authenticate user and return access token. Refresh token is set in httpOnly cookie. - * @summary User Login - * @param {VezaBackendApiInternalDtoLoginRequest} request Login Credentials - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - public authLoginPost(request: VezaBackendApiInternalDtoLoginRequest, options?: RawAxiosRequestConfig) { - return AuthApiFp(this.configuration).authLoginPost(request, options).then((request) => request(this.axios, this.basePath)); - } - - /** - * Revoke refresh token and current session - * @summary Logout - * @param {AuthLogoutPostRequest} request Refresh Token to revoke - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - public authLogoutPost(request: AuthLogoutPostRequest, options?: RawAxiosRequestConfig) { - return AuthApiFp(this.configuration).authLogoutPost(request, options).then((request) => request(this.axios, this.basePath)); - } - - /** - * Get profile information of the currently logged-in user - * @summary Get Current User - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - public authMeGet(options?: RawAxiosRequestConfig) { - return AuthApiFp(this.configuration).authMeGet(options).then((request) => request(this.axios, this.basePath)); - } - - /** - * Get a new access token using a refresh token - * @summary Refresh Token - * @param {VezaBackendApiInternalDtoRefreshRequest} request Refresh Token - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - public authRefreshPost(request: VezaBackendApiInternalDtoRefreshRequest, options?: RawAxiosRequestConfig) { - return AuthApiFp(this.configuration).authRefreshPost(request, options).then((request) => request(this.axios, this.basePath)); - } - - /** - * Register a new user account - * @summary User Registration - * @param {VezaBackendApiInternalDtoRegisterRequest} request Registration Data - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - public authRegisterPost(request: VezaBackendApiInternalDtoRegisterRequest, options?: RawAxiosRequestConfig) { - return AuthApiFp(this.configuration).authRegisterPost(request, options).then((request) => request(this.axios, this.basePath)); - } - - /** - * Resend the email verification link - * @summary Resend Verification Email - * @param {VezaBackendApiInternalDtoResendVerificationRequest} request Email - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - public authResendVerificationPost(request: VezaBackendApiInternalDtoResendVerificationRequest, options?: RawAxiosRequestConfig) { - return AuthApiFp(this.configuration).authResendVerificationPost(request, options).then((request) => request(this.axios, this.basePath)); - } - - /** - * Returns a 5-minute JWT for HLS and WebSocket authentication (httpOnly cookies prevent direct token access) - * @summary Get ephemeral stream token - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - public authStreamTokenPost(options?: RawAxiosRequestConfig) { - return AuthApiFp(this.configuration).authStreamTokenPost(options).then((request) => request(this.axios, this.basePath)); - } - - /** - * Verify user email address using a token - * @summary Verify Email - * @param {string} token Verification Token - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - public authVerifyEmailPost(token: string, options?: RawAxiosRequestConfig) { - return AuthApiFp(this.configuration).authVerifyEmailPost(token, options).then((request) => request(this.axios, this.basePath)); - } -} - - - -/** - * ChatApi - axios parameter creator - */ -export const ChatApiAxiosParamCreator = function (configuration?: Configuration) { - return { - /** - * Generate a short-lived token for chat authentication - * @summary Get Chat Token - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - chatTokenGet: async (options: RawAxiosRequestConfig = {}): Promise => { - const localVarPath = `/chat/token`; - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - // authentication BearerAuth required - await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration) - - localVarHeaderParameter['Accept'] = 'application/json'; - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - } -}; - -/** - * ChatApi - functional programming interface - */ -export const ChatApiFp = function(configuration?: Configuration) { - const localVarAxiosParamCreator = ChatApiAxiosParamCreator(configuration) - return { - /** - * Generate a short-lived token for chat authentication - * @summary Get Chat Token - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async chatTokenGet(options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.chatTokenGet(options); - const localVarOperationServerIndex = configuration?.serverIndex ?? 0; - const localVarOperationServerBasePath = operationServerMap['ChatApi.chatTokenGet']?.[localVarOperationServerIndex]?.url; - return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); - }, - } -}; - -/** - * ChatApi - factory interface - */ -export const ChatApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) { - const localVarFp = ChatApiFp(configuration) - return { - /** - * Generate a short-lived token for chat authentication - * @summary Get Chat Token - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - chatTokenGet(options?: RawAxiosRequestConfig): AxiosPromise { - return localVarFp.chatTokenGet(options).then((request) => request(axios, basePath)); - }, - }; -}; - -/** - * ChatApi - interface - */ -export interface ChatApiInterface { - /** - * Generate a short-lived token for chat authentication - * @summary Get Chat Token - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - chatTokenGet(options?: RawAxiosRequestConfig): AxiosPromise; - -} - -/** - * ChatApi - object-oriented interface - */ -export class ChatApi extends BaseAPI implements ChatApiInterface { - /** - * Generate a short-lived token for chat authentication - * @summary Get Chat Token - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - public chatTokenGet(options?: RawAxiosRequestConfig) { - return ChatApiFp(this.configuration).chatTokenGet(options).then((request) => request(this.axios, this.basePath)); - } -} - - - -/** - * CommentApi - axios parameter creator - */ -export const CommentApiAxiosParamCreator = function (configuration?: Configuration) { - return { - /** - * Update a comment (only by owner) - * @summary Update comment - * @param {string} id Comment ID (UUID) - * @param {InternalHandlersUpdateCommentRequest} comment Updated comment content - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - commentsIdPut: async (id: string, comment: InternalHandlersUpdateCommentRequest, options: RawAxiosRequestConfig = {}): Promise => { - // verify required parameter 'id' is not null or undefined - assertParamExists('commentsIdPut', 'id', id) - // verify required parameter 'comment' is not null or undefined - assertParamExists('commentsIdPut', 'comment', comment) - const localVarPath = `/comments/{id}` - .replace(`{${"id"}}`, encodeURIComponent(String(id))); - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'PUT', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - // authentication BearerAuth required - await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration) - - localVarHeaderParameter['Content-Type'] = 'application/json'; - localVarHeaderParameter['Accept'] = 'application/json'; - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - localVarRequestOptions.data = serializeDataIfNeeded(comment, localVarRequestOptions, configuration) - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - /** - * Get paginated list of replies to a comment - * @summary Get comment replies - * @param {string} id Parent Comment ID (UUID) - * @param {number} [page] Page number - * @param {number} [limit] Items per page - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - commentsIdRepliesGet: async (id: string, page?: number, limit?: number, options: RawAxiosRequestConfig = {}): Promise => { - // verify required parameter 'id' is not null or undefined - assertParamExists('commentsIdRepliesGet', 'id', id) - const localVarPath = `/comments/{id}/replies` - .replace(`{${"id"}}`, encodeURIComponent(String(id))); - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - if (page !== undefined) { - localVarQueryParameter['page'] = page; - } - - if (limit !== undefined) { - localVarQueryParameter['limit'] = limit; - } - - localVarHeaderParameter['Accept'] = 'application/json'; - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - /** - * Delete a comment (only by owner or admin) - * @summary Delete comment - * @param {string} id Track ID - * @param {string} commentId Comment ID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - tracksIdCommentsCommentIdDelete: async (id: string, commentId: string, options: RawAxiosRequestConfig = {}): Promise => { - // verify required parameter 'id' is not null or undefined - assertParamExists('tracksIdCommentsCommentIdDelete', 'id', id) - // verify required parameter 'commentId' is not null or undefined - assertParamExists('tracksIdCommentsCommentIdDelete', 'commentId', commentId) - const localVarPath = `/tracks/{id}/comments/{comment_id}` - .replace(`{${"id"}}`, encodeURIComponent(String(id))) - .replace(`{${"comment_id"}}`, encodeURIComponent(String(commentId))); - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'DELETE', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - // authentication BearerAuth required - await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration) - - localVarHeaderParameter['Accept'] = 'application/json'; - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - /** - * Get paginated list of comments for a track - * @summary Get track comments - * @param {string} id Track ID - * @param {number} [page] Page number - * @param {number} [limit] Items per page - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - tracksIdCommentsGet: async (id: string, page?: number, limit?: number, options: RawAxiosRequestConfig = {}): Promise => { - // verify required parameter 'id' is not null or undefined - assertParamExists('tracksIdCommentsGet', 'id', id) - const localVarPath = `/tracks/{id}/comments` - .replace(`{${"id"}}`, encodeURIComponent(String(id))); - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - if (page !== undefined) { - localVarQueryParameter['page'] = page; - } - - if (limit !== undefined) { - localVarQueryParameter['limit'] = limit; - } - - localVarHeaderParameter['Accept'] = 'application/json'; - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - /** - * Create a new comment on a track. Can be a top-level comment or a reply to another comment (using parent_id). - * @summary Create comment - * @param {string} id Track ID (UUID) - * @param {InternalHandlersCreateCommentRequest} comment Comment data - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - tracksIdCommentsPost: async (id: string, comment: InternalHandlersCreateCommentRequest, options: RawAxiosRequestConfig = {}): Promise => { - // verify required parameter 'id' is not null or undefined - assertParamExists('tracksIdCommentsPost', 'id', id) - // verify required parameter 'comment' is not null or undefined - assertParamExists('tracksIdCommentsPost', 'comment', comment) - const localVarPath = `/tracks/{id}/comments` - .replace(`{${"id"}}`, encodeURIComponent(String(id))); - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - // authentication BearerAuth required - await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration) - - localVarHeaderParameter['Content-Type'] = 'application/json'; - localVarHeaderParameter['Accept'] = 'application/json'; - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - localVarRequestOptions.data = serializeDataIfNeeded(comment, localVarRequestOptions, configuration) - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - } -}; - -/** - * CommentApi - functional programming interface - */ -export const CommentApiFp = function(configuration?: Configuration) { - const localVarAxiosParamCreator = CommentApiAxiosParamCreator(configuration) - return { - /** - * Update a comment (only by owner) - * @summary Update comment - * @param {string} id Comment ID (UUID) - * @param {InternalHandlersUpdateCommentRequest} comment Updated comment content - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async commentsIdPut(id: string, comment: InternalHandlersUpdateCommentRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.commentsIdPut(id, comment, options); - const localVarOperationServerIndex = configuration?.serverIndex ?? 0; - const localVarOperationServerBasePath = operationServerMap['CommentApi.commentsIdPut']?.[localVarOperationServerIndex]?.url; - return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); - }, - /** - * Get paginated list of replies to a comment - * @summary Get comment replies - * @param {string} id Parent Comment ID (UUID) - * @param {number} [page] Page number - * @param {number} [limit] Items per page - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async commentsIdRepliesGet(id: string, page?: number, limit?: number, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.commentsIdRepliesGet(id, page, limit, options); - const localVarOperationServerIndex = configuration?.serverIndex ?? 0; - const localVarOperationServerBasePath = operationServerMap['CommentApi.commentsIdRepliesGet']?.[localVarOperationServerIndex]?.url; - return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); - }, - /** - * Delete a comment (only by owner or admin) - * @summary Delete comment - * @param {string} id Track ID - * @param {string} commentId Comment ID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async tracksIdCommentsCommentIdDelete(id: string, commentId: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.tracksIdCommentsCommentIdDelete(id, commentId, options); - const localVarOperationServerIndex = configuration?.serverIndex ?? 0; - const localVarOperationServerBasePath = operationServerMap['CommentApi.tracksIdCommentsCommentIdDelete']?.[localVarOperationServerIndex]?.url; - return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); - }, - /** - * Get paginated list of comments for a track - * @summary Get track comments - * @param {string} id Track ID - * @param {number} [page] Page number - * @param {number} [limit] Items per page - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async tracksIdCommentsGet(id: string, page?: number, limit?: number, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.tracksIdCommentsGet(id, page, limit, options); - const localVarOperationServerIndex = configuration?.serverIndex ?? 0; - const localVarOperationServerBasePath = operationServerMap['CommentApi.tracksIdCommentsGet']?.[localVarOperationServerIndex]?.url; - return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); - }, - /** - * Create a new comment on a track. Can be a top-level comment or a reply to another comment (using parent_id). - * @summary Create comment - * @param {string} id Track ID (UUID) - * @param {InternalHandlersCreateCommentRequest} comment Comment data - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async tracksIdCommentsPost(id: string, comment: InternalHandlersCreateCommentRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.tracksIdCommentsPost(id, comment, options); - const localVarOperationServerIndex = configuration?.serverIndex ?? 0; - const localVarOperationServerBasePath = operationServerMap['CommentApi.tracksIdCommentsPost']?.[localVarOperationServerIndex]?.url; - return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); - }, - } -}; - -/** - * CommentApi - factory interface - */ -export const CommentApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) { - const localVarFp = CommentApiFp(configuration) - return { - /** - * Update a comment (only by owner) - * @summary Update comment - * @param {string} id Comment ID (UUID) - * @param {InternalHandlersUpdateCommentRequest} comment Updated comment content - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - commentsIdPut(id: string, comment: InternalHandlersUpdateCommentRequest, options?: RawAxiosRequestConfig): AxiosPromise { - return localVarFp.commentsIdPut(id, comment, options).then((request) => request(axios, basePath)); - }, - /** - * Get paginated list of replies to a comment - * @summary Get comment replies - * @param {string} id Parent Comment ID (UUID) - * @param {number} [page] Page number - * @param {number} [limit] Items per page - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - commentsIdRepliesGet(id: string, page?: number, limit?: number, options?: RawAxiosRequestConfig): AxiosPromise { - return localVarFp.commentsIdRepliesGet(id, page, limit, options).then((request) => request(axios, basePath)); - }, - /** - * Delete a comment (only by owner or admin) - * @summary Delete comment - * @param {string} id Track ID - * @param {string} commentId Comment ID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - tracksIdCommentsCommentIdDelete(id: string, commentId: string, options?: RawAxiosRequestConfig): AxiosPromise { - return localVarFp.tracksIdCommentsCommentIdDelete(id, commentId, options).then((request) => request(axios, basePath)); - }, - /** - * Get paginated list of comments for a track - * @summary Get track comments - * @param {string} id Track ID - * @param {number} [page] Page number - * @param {number} [limit] Items per page - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - tracksIdCommentsGet(id: string, page?: number, limit?: number, options?: RawAxiosRequestConfig): AxiosPromise { - return localVarFp.tracksIdCommentsGet(id, page, limit, options).then((request) => request(axios, basePath)); - }, - /** - * Create a new comment on a track. Can be a top-level comment or a reply to another comment (using parent_id). - * @summary Create comment - * @param {string} id Track ID (UUID) - * @param {InternalHandlersCreateCommentRequest} comment Comment data - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - tracksIdCommentsPost(id: string, comment: InternalHandlersCreateCommentRequest, options?: RawAxiosRequestConfig): AxiosPromise { - return localVarFp.tracksIdCommentsPost(id, comment, options).then((request) => request(axios, basePath)); - }, - }; -}; - -/** - * CommentApi - interface - */ -export interface CommentApiInterface { - /** - * Update a comment (only by owner) - * @summary Update comment - * @param {string} id Comment ID (UUID) - * @param {InternalHandlersUpdateCommentRequest} comment Updated comment content - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - commentsIdPut(id: string, comment: InternalHandlersUpdateCommentRequest, options?: RawAxiosRequestConfig): AxiosPromise; - - /** - * Get paginated list of replies to a comment - * @summary Get comment replies - * @param {string} id Parent Comment ID (UUID) - * @param {number} [page] Page number - * @param {number} [limit] Items per page - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - commentsIdRepliesGet(id: string, page?: number, limit?: number, options?: RawAxiosRequestConfig): AxiosPromise; - - /** - * Delete a comment (only by owner or admin) - * @summary Delete comment - * @param {string} id Track ID - * @param {string} commentId Comment ID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - tracksIdCommentsCommentIdDelete(id: string, commentId: string, options?: RawAxiosRequestConfig): AxiosPromise; - - /** - * Get paginated list of comments for a track - * @summary Get track comments - * @param {string} id Track ID - * @param {number} [page] Page number - * @param {number} [limit] Items per page - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - tracksIdCommentsGet(id: string, page?: number, limit?: number, options?: RawAxiosRequestConfig): AxiosPromise; - - /** - * Create a new comment on a track. Can be a top-level comment or a reply to another comment (using parent_id). - * @summary Create comment - * @param {string} id Track ID (UUID) - * @param {InternalHandlersCreateCommentRequest} comment Comment data - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - tracksIdCommentsPost(id: string, comment: InternalHandlersCreateCommentRequest, options?: RawAxiosRequestConfig): AxiosPromise; - -} - -/** - * CommentApi - object-oriented interface - */ -export class CommentApi extends BaseAPI implements CommentApiInterface { - /** - * Update a comment (only by owner) - * @summary Update comment - * @param {string} id Comment ID (UUID) - * @param {InternalHandlersUpdateCommentRequest} comment Updated comment content - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - public commentsIdPut(id: string, comment: InternalHandlersUpdateCommentRequest, options?: RawAxiosRequestConfig) { - return CommentApiFp(this.configuration).commentsIdPut(id, comment, options).then((request) => request(this.axios, this.basePath)); - } - - /** - * Get paginated list of replies to a comment - * @summary Get comment replies - * @param {string} id Parent Comment ID (UUID) - * @param {number} [page] Page number - * @param {number} [limit] Items per page - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - public commentsIdRepliesGet(id: string, page?: number, limit?: number, options?: RawAxiosRequestConfig) { - return CommentApiFp(this.configuration).commentsIdRepliesGet(id, page, limit, options).then((request) => request(this.axios, this.basePath)); - } - - /** - * Delete a comment (only by owner or admin) - * @summary Delete comment - * @param {string} id Track ID - * @param {string} commentId Comment ID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - public tracksIdCommentsCommentIdDelete(id: string, commentId: string, options?: RawAxiosRequestConfig) { - return CommentApiFp(this.configuration).tracksIdCommentsCommentIdDelete(id, commentId, options).then((request) => request(this.axios, this.basePath)); - } - - /** - * Get paginated list of comments for a track - * @summary Get track comments - * @param {string} id Track ID - * @param {number} [page] Page number - * @param {number} [limit] Items per page - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - public tracksIdCommentsGet(id: string, page?: number, limit?: number, options?: RawAxiosRequestConfig) { - return CommentApiFp(this.configuration).tracksIdCommentsGet(id, page, limit, options).then((request) => request(this.axios, this.basePath)); - } - - /** - * Create a new comment on a track. Can be a top-level comment or a reply to another comment (using parent_id). - * @summary Create comment - * @param {string} id Track ID (UUID) - * @param {InternalHandlersCreateCommentRequest} comment Comment data - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - public tracksIdCommentsPost(id: string, comment: InternalHandlersCreateCommentRequest, options?: RawAxiosRequestConfig) { - return CommentApiFp(this.configuration).tracksIdCommentsPost(id, comment, options).then((request) => request(this.axios, this.basePath)); - } -} - - - -/** - * DashboardApi - axios parameter creator - */ -export const DashboardApiAxiosParamCreator = function (configuration?: Configuration) { - return { - /** - * Get aggregated dashboard data including stats, recent activity, and library preview - * @summary Get Dashboard Data - * @param {number} [activityLimit] Number of recent activity items (default: 10) - * @param {number} [libraryLimit] Number of library items (default: 5) - * @param {string} [statsPeriod] Time period for statistics: 7d, 30d, 90d, all (default: 30d) - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - apiV1DashboardGet: async (activityLimit?: number, libraryLimit?: number, statsPeriod?: string, options: RawAxiosRequestConfig = {}): Promise => { - const localVarPath = `/api/v1/dashboard`; - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - // authentication BearerAuth required - await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration) - - if (activityLimit !== undefined) { - localVarQueryParameter['activity_limit'] = activityLimit; - } - - if (libraryLimit !== undefined) { - localVarQueryParameter['library_limit'] = libraryLimit; - } - - if (statsPeriod !== undefined) { - localVarQueryParameter['stats_period'] = statsPeriod; - } - - localVarHeaderParameter['Accept'] = 'application/json'; - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - } -}; - -/** - * DashboardApi - functional programming interface - */ -export const DashboardApiFp = function(configuration?: Configuration) { - const localVarAxiosParamCreator = DashboardApiAxiosParamCreator(configuration) - return { - /** - * Get aggregated dashboard data including stats, recent activity, and library preview - * @summary Get Dashboard Data - * @param {number} [activityLimit] Number of recent activity items (default: 10) - * @param {number} [libraryLimit] Number of library items (default: 5) - * @param {string} [statsPeriod] Time period for statistics: 7d, 30d, 90d, all (default: 30d) - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async apiV1DashboardGet(activityLimit?: number, libraryLimit?: number, statsPeriod?: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.apiV1DashboardGet(activityLimit, libraryLimit, statsPeriod, options); - const localVarOperationServerIndex = configuration?.serverIndex ?? 0; - const localVarOperationServerBasePath = operationServerMap['DashboardApi.apiV1DashboardGet']?.[localVarOperationServerIndex]?.url; - return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); - }, - } -}; - -/** - * DashboardApi - factory interface - */ -export const DashboardApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) { - const localVarFp = DashboardApiFp(configuration) - return { - /** - * Get aggregated dashboard data including stats, recent activity, and library preview - * @summary Get Dashboard Data - * @param {number} [activityLimit] Number of recent activity items (default: 10) - * @param {number} [libraryLimit] Number of library items (default: 5) - * @param {string} [statsPeriod] Time period for statistics: 7d, 30d, 90d, all (default: 30d) - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - apiV1DashboardGet(activityLimit?: number, libraryLimit?: number, statsPeriod?: string, options?: RawAxiosRequestConfig): AxiosPromise { - return localVarFp.apiV1DashboardGet(activityLimit, libraryLimit, statsPeriod, options).then((request) => request(axios, basePath)); - }, - }; -}; - -/** - * DashboardApi - interface - */ -export interface DashboardApiInterface { - /** - * Get aggregated dashboard data including stats, recent activity, and library preview - * @summary Get Dashboard Data - * @param {number} [activityLimit] Number of recent activity items (default: 10) - * @param {number} [libraryLimit] Number of library items (default: 5) - * @param {string} [statsPeriod] Time period for statistics: 7d, 30d, 90d, all (default: 30d) - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - apiV1DashboardGet(activityLimit?: number, libraryLimit?: number, statsPeriod?: string, options?: RawAxiosRequestConfig): AxiosPromise; - -} - -/** - * DashboardApi - object-oriented interface - */ -export class DashboardApi extends BaseAPI implements DashboardApiInterface { - /** - * Get aggregated dashboard data including stats, recent activity, and library preview - * @summary Get Dashboard Data - * @param {number} [activityLimit] Number of recent activity items (default: 10) - * @param {number} [libraryLimit] Number of library items (default: 5) - * @param {string} [statsPeriod] Time period for statistics: 7d, 30d, 90d, all (default: 30d) - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - public apiV1DashboardGet(activityLimit?: number, libraryLimit?: number, statsPeriod?: string, options?: RawAxiosRequestConfig) { - return DashboardApiFp(this.configuration).apiV1DashboardGet(activityLimit, libraryLimit, statsPeriod, options).then((request) => request(this.axios, this.basePath)); - } -} - - - -/** - * LoggingApi - axios parameter creator - */ -export const LoggingApiAxiosParamCreator = function (configuration?: Configuration) { - return { - /** - * Receive and store a log entry from the frontend application - * @summary Receive frontend log - * @param {InternalHandlersFrontendLogRequest} log Frontend log entry - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - apiV1LogsFrontendPost: async (log: InternalHandlersFrontendLogRequest, options: RawAxiosRequestConfig = {}): Promise => { - // verify required parameter 'log' is not null or undefined - assertParamExists('apiV1LogsFrontendPost', 'log', log) - const localVarPath = `/api/v1/logs/frontend`; - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - localVarHeaderParameter['Content-Type'] = 'application/json'; - localVarHeaderParameter['Accept'] = 'application/json'; - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - localVarRequestOptions.data = serializeDataIfNeeded(log, localVarRequestOptions, configuration) - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - } -}; - -/** - * LoggingApi - functional programming interface - */ -export const LoggingApiFp = function(configuration?: Configuration) { - const localVarAxiosParamCreator = LoggingApiAxiosParamCreator(configuration) - return { - /** - * Receive and store a log entry from the frontend application - * @summary Receive frontend log - * @param {InternalHandlersFrontendLogRequest} log Frontend log entry - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async apiV1LogsFrontendPost(log: InternalHandlersFrontendLogRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.apiV1LogsFrontendPost(log, options); - const localVarOperationServerIndex = configuration?.serverIndex ?? 0; - const localVarOperationServerBasePath = operationServerMap['LoggingApi.apiV1LogsFrontendPost']?.[localVarOperationServerIndex]?.url; - return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); - }, - } -}; - -/** - * LoggingApi - factory interface - */ -export const LoggingApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) { - const localVarFp = LoggingApiFp(configuration) - return { - /** - * Receive and store a log entry from the frontend application - * @summary Receive frontend log - * @param {InternalHandlersFrontendLogRequest} log Frontend log entry - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - apiV1LogsFrontendPost(log: InternalHandlersFrontendLogRequest, options?: RawAxiosRequestConfig): AxiosPromise { - return localVarFp.apiV1LogsFrontendPost(log, options).then((request) => request(axios, basePath)); - }, - }; -}; - -/** - * LoggingApi - interface - */ -export interface LoggingApiInterface { - /** - * Receive and store a log entry from the frontend application - * @summary Receive frontend log - * @param {InternalHandlersFrontendLogRequest} log Frontend log entry - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - apiV1LogsFrontendPost(log: InternalHandlersFrontendLogRequest, options?: RawAxiosRequestConfig): AxiosPromise; - -} - -/** - * LoggingApi - object-oriented interface - */ -export class LoggingApi extends BaseAPI implements LoggingApiInterface { - /** - * Receive and store a log entry from the frontend application - * @summary Receive frontend log - * @param {InternalHandlersFrontendLogRequest} log Frontend log entry - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - public apiV1LogsFrontendPost(log: InternalHandlersFrontendLogRequest, options?: RawAxiosRequestConfig) { - return LoggingApiFp(this.configuration).apiV1LogsFrontendPost(log, options).then((request) => request(this.axios, this.basePath)); - } -} - - - -/** - * MarketplaceApi - axios parameter creator - */ -export const MarketplaceApiAxiosParamCreator = function (configuration?: Configuration) { - return { - /** - * Get a secure download URL for a purchased product - * @summary Get download URL - * @param {string} productId Product ID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - apiV1MarketplaceDownloadProductIdGet: async (productId: string, options: RawAxiosRequestConfig = {}): Promise => { - // verify required parameter 'productId' is not null or undefined - assertParamExists('apiV1MarketplaceDownloadProductIdGet', 'productId', productId) - const localVarPath = `/api/v1/marketplace/download/{product_id}` - .replace(`{${"product_id"}}`, encodeURIComponent(String(productId))); - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - // authentication BearerAuth required - await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration) - - localVarHeaderParameter['Accept'] = 'application/json'; - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - /** - * Get all orders for the authenticated user - * @summary List user orders - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - apiV1MarketplaceOrdersGet: async (options: RawAxiosRequestConfig = {}): Promise => { - const localVarPath = `/api/v1/marketplace/orders`; - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - // authentication BearerAuth required - await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration) - - localVarHeaderParameter['Accept'] = 'application/json'; - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - /** - * Get details of a specific order (only order owner can access) - * @summary Get order details - * @param {string} id Order ID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - apiV1MarketplaceOrdersIdGet: async (id: string, options: RawAxiosRequestConfig = {}): Promise => { - // verify required parameter 'id' is not null or undefined - assertParamExists('apiV1MarketplaceOrdersIdGet', 'id', id) - const localVarPath = `/api/v1/marketplace/orders/{id}` - .replace(`{${"id"}}`, encodeURIComponent(String(id))); - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - // authentication BearerAuth required - await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration) - - localVarHeaderParameter['Accept'] = 'application/json'; - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - /** - * Purchase products - * @summary Create a new order - * @param {InternalHandlersCreateOrderRequest} order Order items - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - apiV1MarketplaceOrdersPost: async (order: InternalHandlersCreateOrderRequest, options: RawAxiosRequestConfig = {}): Promise => { - // verify required parameter 'order' is not null or undefined - assertParamExists('apiV1MarketplaceOrdersPost', 'order', order) - const localVarPath = `/api/v1/marketplace/orders`; - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - // authentication BearerAuth required - await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration) - - localVarHeaderParameter['Content-Type'] = 'application/json'; - localVarHeaderParameter['Accept'] = 'application/json'; - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - localVarRequestOptions.data = serializeDataIfNeeded(order, localVarRequestOptions, configuration) - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - /** - * List marketplace products with filters - * @summary List products - * @param {string} [status] Product status - * @param {string} [sellerId] Seller ID - * @param {string} [q] Search query - * @param {string} [type] Product type (track, pack, service) - * @param {number} [minPrice] Minimum price - * @param {number} [maxPrice] Maximum price - * @param {number} [page] Page number - * @param {number} [limit] Items per page - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - apiV1MarketplaceProductsGet: async (status?: string, sellerId?: string, q?: string, type?: string, minPrice?: number, maxPrice?: number, page?: number, limit?: number, options: RawAxiosRequestConfig = {}): Promise => { - const localVarPath = `/api/v1/marketplace/products`; - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - if (status !== undefined) { - localVarQueryParameter['status'] = status; - } - - if (sellerId !== undefined) { - localVarQueryParameter['seller_id'] = sellerId; - } - - if (q !== undefined) { - localVarQueryParameter['q'] = q; - } - - if (type !== undefined) { - localVarQueryParameter['type'] = type; - } - - if (minPrice !== undefined) { - localVarQueryParameter['min_price'] = minPrice; - } - - if (maxPrice !== undefined) { - localVarQueryParameter['max_price'] = maxPrice; - } - - if (page !== undefined) { - localVarQueryParameter['page'] = page; - } - - if (limit !== undefined) { - localVarQueryParameter['limit'] = limit; - } - - localVarHeaderParameter['Accept'] = 'application/json'; - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - /** - * Update product details (only seller can update) - * @summary Update a product - * @param {string} id Product ID - * @param {InternalHandlersUpdateProductRequest} product Product updates - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - apiV1MarketplaceProductsIdPut: async (id: string, product: InternalHandlersUpdateProductRequest, options: RawAxiosRequestConfig = {}): Promise => { - // verify required parameter 'id' is not null or undefined - assertParamExists('apiV1MarketplaceProductsIdPut', 'id', id) - // verify required parameter 'product' is not null or undefined - assertParamExists('apiV1MarketplaceProductsIdPut', 'product', product) - const localVarPath = `/api/v1/marketplace/products/{id}` - .replace(`{${"id"}}`, encodeURIComponent(String(id))); - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'PUT', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - // authentication BearerAuth required - await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration) - - localVarHeaderParameter['Content-Type'] = 'application/json'; - localVarHeaderParameter['Accept'] = 'application/json'; - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - localVarRequestOptions.data = serializeDataIfNeeded(product, localVarRequestOptions, configuration) - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - /** - * Create a product (Track, Pack, Service) for sale - * @summary Create a new product - * @param {InternalHandlersCreateProductRequest} product Product info - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - apiV1MarketplaceProductsPost: async (product: InternalHandlersCreateProductRequest, options: RawAxiosRequestConfig = {}): Promise => { - // verify required parameter 'product' is not null or undefined - assertParamExists('apiV1MarketplaceProductsPost', 'product', product) - const localVarPath = `/api/v1/marketplace/products`; - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - // authentication BearerAuth required - await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration) - - localVarHeaderParameter['Content-Type'] = 'application/json'; - localVarHeaderParameter['Accept'] = 'application/json'; - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - localVarRequestOptions.data = serializeDataIfNeeded(product, localVarRequestOptions, configuration) - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - } -}; - -/** - * MarketplaceApi - functional programming interface - */ -export const MarketplaceApiFp = function(configuration?: Configuration) { - const localVarAxiosParamCreator = MarketplaceApiAxiosParamCreator(configuration) - return { - /** - * Get a secure download URL for a purchased product - * @summary Get download URL - * @param {string} productId Product ID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async apiV1MarketplaceDownloadProductIdGet(productId: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<{ [key: string]: string; }>> { - const localVarAxiosArgs = await localVarAxiosParamCreator.apiV1MarketplaceDownloadProductIdGet(productId, options); - const localVarOperationServerIndex = configuration?.serverIndex ?? 0; - const localVarOperationServerBasePath = operationServerMap['MarketplaceApi.apiV1MarketplaceDownloadProductIdGet']?.[localVarOperationServerIndex]?.url; - return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); - }, - /** - * Get all orders for the authenticated user - * @summary List user orders - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async apiV1MarketplaceOrdersGet(options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>> { - const localVarAxiosArgs = await localVarAxiosParamCreator.apiV1MarketplaceOrdersGet(options); - const localVarOperationServerIndex = configuration?.serverIndex ?? 0; - const localVarOperationServerBasePath = operationServerMap['MarketplaceApi.apiV1MarketplaceOrdersGet']?.[localVarOperationServerIndex]?.url; - return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); - }, - /** - * Get details of a specific order (only order owner can access) - * @summary Get order details - * @param {string} id Order ID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async apiV1MarketplaceOrdersIdGet(id: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.apiV1MarketplaceOrdersIdGet(id, options); - const localVarOperationServerIndex = configuration?.serverIndex ?? 0; - const localVarOperationServerBasePath = operationServerMap['MarketplaceApi.apiV1MarketplaceOrdersIdGet']?.[localVarOperationServerIndex]?.url; - return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); - }, - /** - * Purchase products - * @summary Create a new order - * @param {InternalHandlersCreateOrderRequest} order Order items - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async apiV1MarketplaceOrdersPost(order: InternalHandlersCreateOrderRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.apiV1MarketplaceOrdersPost(order, options); - const localVarOperationServerIndex = configuration?.serverIndex ?? 0; - const localVarOperationServerBasePath = operationServerMap['MarketplaceApi.apiV1MarketplaceOrdersPost']?.[localVarOperationServerIndex]?.url; - return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); - }, - /** - * List marketplace products with filters - * @summary List products - * @param {string} [status] Product status - * @param {string} [sellerId] Seller ID - * @param {string} [q] Search query - * @param {string} [type] Product type (track, pack, service) - * @param {number} [minPrice] Minimum price - * @param {number} [maxPrice] Maximum price - * @param {number} [page] Page number - * @param {number} [limit] Items per page - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async apiV1MarketplaceProductsGet(status?: string, sellerId?: string, q?: string, type?: string, minPrice?: number, maxPrice?: number, page?: number, limit?: number, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>> { - const localVarAxiosArgs = await localVarAxiosParamCreator.apiV1MarketplaceProductsGet(status, sellerId, q, type, minPrice, maxPrice, page, limit, options); - const localVarOperationServerIndex = configuration?.serverIndex ?? 0; - const localVarOperationServerBasePath = operationServerMap['MarketplaceApi.apiV1MarketplaceProductsGet']?.[localVarOperationServerIndex]?.url; - return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); - }, - /** - * Update product details (only seller can update) - * @summary Update a product - * @param {string} id Product ID - * @param {InternalHandlersUpdateProductRequest} product Product updates - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async apiV1MarketplaceProductsIdPut(id: string, product: InternalHandlersUpdateProductRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.apiV1MarketplaceProductsIdPut(id, product, options); - const localVarOperationServerIndex = configuration?.serverIndex ?? 0; - const localVarOperationServerBasePath = operationServerMap['MarketplaceApi.apiV1MarketplaceProductsIdPut']?.[localVarOperationServerIndex]?.url; - return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); - }, - /** - * Create a product (Track, Pack, Service) for sale - * @summary Create a new product - * @param {InternalHandlersCreateProductRequest} product Product info - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async apiV1MarketplaceProductsPost(product: InternalHandlersCreateProductRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.apiV1MarketplaceProductsPost(product, options); - const localVarOperationServerIndex = configuration?.serverIndex ?? 0; - const localVarOperationServerBasePath = operationServerMap['MarketplaceApi.apiV1MarketplaceProductsPost']?.[localVarOperationServerIndex]?.url; - return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); - }, - } -}; - -/** - * MarketplaceApi - factory interface - */ -export const MarketplaceApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) { - const localVarFp = MarketplaceApiFp(configuration) - return { - /** - * Get a secure download URL for a purchased product - * @summary Get download URL - * @param {string} productId Product ID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - apiV1MarketplaceDownloadProductIdGet(productId: string, options?: RawAxiosRequestConfig): AxiosPromise<{ [key: string]: string; }> { - return localVarFp.apiV1MarketplaceDownloadProductIdGet(productId, options).then((request) => request(axios, basePath)); - }, - /** - * Get all orders for the authenticated user - * @summary List user orders - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - apiV1MarketplaceOrdersGet(options?: RawAxiosRequestConfig): AxiosPromise> { - return localVarFp.apiV1MarketplaceOrdersGet(options).then((request) => request(axios, basePath)); - }, - /** - * Get details of a specific order (only order owner can access) - * @summary Get order details - * @param {string} id Order ID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - apiV1MarketplaceOrdersIdGet(id: string, options?: RawAxiosRequestConfig): AxiosPromise { - return localVarFp.apiV1MarketplaceOrdersIdGet(id, options).then((request) => request(axios, basePath)); - }, - /** - * Purchase products - * @summary Create a new order - * @param {InternalHandlersCreateOrderRequest} order Order items - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - apiV1MarketplaceOrdersPost(order: InternalHandlersCreateOrderRequest, options?: RawAxiosRequestConfig): AxiosPromise { - return localVarFp.apiV1MarketplaceOrdersPost(order, options).then((request) => request(axios, basePath)); - }, - /** - * List marketplace products with filters - * @summary List products - * @param {string} [status] Product status - * @param {string} [sellerId] Seller ID - * @param {string} [q] Search query - * @param {string} [type] Product type (track, pack, service) - * @param {number} [minPrice] Minimum price - * @param {number} [maxPrice] Maximum price - * @param {number} [page] Page number - * @param {number} [limit] Items per page - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - apiV1MarketplaceProductsGet(status?: string, sellerId?: string, q?: string, type?: string, minPrice?: number, maxPrice?: number, page?: number, limit?: number, options?: RawAxiosRequestConfig): AxiosPromise> { - return localVarFp.apiV1MarketplaceProductsGet(status, sellerId, q, type, minPrice, maxPrice, page, limit, options).then((request) => request(axios, basePath)); - }, - /** - * Update product details (only seller can update) - * @summary Update a product - * @param {string} id Product ID - * @param {InternalHandlersUpdateProductRequest} product Product updates - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - apiV1MarketplaceProductsIdPut(id: string, product: InternalHandlersUpdateProductRequest, options?: RawAxiosRequestConfig): AxiosPromise { - return localVarFp.apiV1MarketplaceProductsIdPut(id, product, options).then((request) => request(axios, basePath)); - }, - /** - * Create a product (Track, Pack, Service) for sale - * @summary Create a new product - * @param {InternalHandlersCreateProductRequest} product Product info - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - apiV1MarketplaceProductsPost(product: InternalHandlersCreateProductRequest, options?: RawAxiosRequestConfig): AxiosPromise { - return localVarFp.apiV1MarketplaceProductsPost(product, options).then((request) => request(axios, basePath)); - }, - }; -}; - -/** - * MarketplaceApi - interface - */ -export interface MarketplaceApiInterface { - /** - * Get a secure download URL for a purchased product - * @summary Get download URL - * @param {string} productId Product ID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - apiV1MarketplaceDownloadProductIdGet(productId: string, options?: RawAxiosRequestConfig): AxiosPromise<{ [key: string]: string; }>; - - /** - * Get all orders for the authenticated user - * @summary List user orders - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - apiV1MarketplaceOrdersGet(options?: RawAxiosRequestConfig): AxiosPromise>; - - /** - * Get details of a specific order (only order owner can access) - * @summary Get order details - * @param {string} id Order ID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - apiV1MarketplaceOrdersIdGet(id: string, options?: RawAxiosRequestConfig): AxiosPromise; - - /** - * Purchase products - * @summary Create a new order - * @param {InternalHandlersCreateOrderRequest} order Order items - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - apiV1MarketplaceOrdersPost(order: InternalHandlersCreateOrderRequest, options?: RawAxiosRequestConfig): AxiosPromise; - - /** - * List marketplace products with filters - * @summary List products - * @param {string} [status] Product status - * @param {string} [sellerId] Seller ID - * @param {string} [q] Search query - * @param {string} [type] Product type (track, pack, service) - * @param {number} [minPrice] Minimum price - * @param {number} [maxPrice] Maximum price - * @param {number} [page] Page number - * @param {number} [limit] Items per page - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - apiV1MarketplaceProductsGet(status?: string, sellerId?: string, q?: string, type?: string, minPrice?: number, maxPrice?: number, page?: number, limit?: number, options?: RawAxiosRequestConfig): AxiosPromise>; - - /** - * Update product details (only seller can update) - * @summary Update a product - * @param {string} id Product ID - * @param {InternalHandlersUpdateProductRequest} product Product updates - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - apiV1MarketplaceProductsIdPut(id: string, product: InternalHandlersUpdateProductRequest, options?: RawAxiosRequestConfig): AxiosPromise; - - /** - * Create a product (Track, Pack, Service) for sale - * @summary Create a new product - * @param {InternalHandlersCreateProductRequest} product Product info - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - apiV1MarketplaceProductsPost(product: InternalHandlersCreateProductRequest, options?: RawAxiosRequestConfig): AxiosPromise; - -} - -/** - * MarketplaceApi - object-oriented interface - */ -export class MarketplaceApi extends BaseAPI implements MarketplaceApiInterface { - /** - * Get a secure download URL for a purchased product - * @summary Get download URL - * @param {string} productId Product ID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - public apiV1MarketplaceDownloadProductIdGet(productId: string, options?: RawAxiosRequestConfig) { - return MarketplaceApiFp(this.configuration).apiV1MarketplaceDownloadProductIdGet(productId, options).then((request) => request(this.axios, this.basePath)); - } - - /** - * Get all orders for the authenticated user - * @summary List user orders - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - public apiV1MarketplaceOrdersGet(options?: RawAxiosRequestConfig) { - return MarketplaceApiFp(this.configuration).apiV1MarketplaceOrdersGet(options).then((request) => request(this.axios, this.basePath)); - } - - /** - * Get details of a specific order (only order owner can access) - * @summary Get order details - * @param {string} id Order ID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - public apiV1MarketplaceOrdersIdGet(id: string, options?: RawAxiosRequestConfig) { - return MarketplaceApiFp(this.configuration).apiV1MarketplaceOrdersIdGet(id, options).then((request) => request(this.axios, this.basePath)); - } - - /** - * Purchase products - * @summary Create a new order - * @param {InternalHandlersCreateOrderRequest} order Order items - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - public apiV1MarketplaceOrdersPost(order: InternalHandlersCreateOrderRequest, options?: RawAxiosRequestConfig) { - return MarketplaceApiFp(this.configuration).apiV1MarketplaceOrdersPost(order, options).then((request) => request(this.axios, this.basePath)); - } - - /** - * List marketplace products with filters - * @summary List products - * @param {string} [status] Product status - * @param {string} [sellerId] Seller ID - * @param {string} [q] Search query - * @param {string} [type] Product type (track, pack, service) - * @param {number} [minPrice] Minimum price - * @param {number} [maxPrice] Maximum price - * @param {number} [page] Page number - * @param {number} [limit] Items per page - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - public apiV1MarketplaceProductsGet(status?: string, sellerId?: string, q?: string, type?: string, minPrice?: number, maxPrice?: number, page?: number, limit?: number, options?: RawAxiosRequestConfig) { - return MarketplaceApiFp(this.configuration).apiV1MarketplaceProductsGet(status, sellerId, q, type, minPrice, maxPrice, page, limit, options).then((request) => request(this.axios, this.basePath)); - } - - /** - * Update product details (only seller can update) - * @summary Update a product - * @param {string} id Product ID - * @param {InternalHandlersUpdateProductRequest} product Product updates - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - public apiV1MarketplaceProductsIdPut(id: string, product: InternalHandlersUpdateProductRequest, options?: RawAxiosRequestConfig) { - return MarketplaceApiFp(this.configuration).apiV1MarketplaceProductsIdPut(id, product, options).then((request) => request(this.axios, this.basePath)); - } - - /** - * Create a product (Track, Pack, Service) for sale - * @summary Create a new product - * @param {InternalHandlersCreateProductRequest} product Product info - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - public apiV1MarketplaceProductsPost(product: InternalHandlersCreateProductRequest, options?: RawAxiosRequestConfig) { - return MarketplaceApiFp(this.configuration).apiV1MarketplaceProductsPost(product, options).then((request) => request(this.axios, this.basePath)); - } -} - - - -/** - * PlaylistApi - axios parameter creator - */ -export const PlaylistApiAxiosParamCreator = function (configuration?: Configuration) { - return { - /** - * Returns the authenticated user\'s \"Favoris\" playlist. Auto-created on first call. Used by the like-as-save pattern. - * @summary Get Favoris playlist - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - playlistsFavorisGet: async (options: RawAxiosRequestConfig = {}): Promise => { - const localVarPath = `/playlists/favoris`; - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - // authentication BearerAuth required - await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration) - - localVarHeaderParameter['Accept'] = 'application/json'; - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - /** - * Get a paginated list of playlists - * @summary Get Playlists - * @param {number} [page] Page number - * @param {number} [limit] Items per page - * @param {string} [userId] Filter by User ID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - playlistsGet: async (page?: number, limit?: number, userId?: string, options: RawAxiosRequestConfig = {}): Promise => { - const localVarPath = `/playlists`; - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - // authentication BearerAuth required - await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration) - - if (page !== undefined) { - localVarQueryParameter['page'] = page; - } - - if (limit !== undefined) { - localVarQueryParameter['limit'] = limit; - } - - if (userId !== undefined) { - localVarQueryParameter['user_id'] = userId; - } - - localVarHeaderParameter['Accept'] = 'application/json'; - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - /** - * Returns aggregated stats for a playlist (plays, follows, tracks count, etc.). Visible to the owner, collaborators and admins. - * @summary Get playlist statistics - * @param {string} id Playlist UUID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - playlistsIdAnalyticsGet: async (id: string, options: RawAxiosRequestConfig = {}): Promise => { - // verify required parameter 'id' is not null or undefined - assertParamExists('playlistsIdAnalyticsGet', 'id', id) - const localVarPath = `/playlists/{id}/analytics` - .replace(`{${"id"}}`, encodeURIComponent(String(id))); - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - // authentication BearerAuth required - await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration) - - localVarHeaderParameter['Accept'] = 'application/json'; - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - /** - * Returns the collaborators of a playlist with their permission level. - * @summary List playlist collaborators - * @param {string} id Playlist UUID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - playlistsIdCollaboratorsGet: async (id: string, options: RawAxiosRequestConfig = {}): Promise => { - // verify required parameter 'id' is not null or undefined - assertParamExists('playlistsIdCollaboratorsGet', 'id', id) - const localVarPath = `/playlists/{id}/collaborators` - .replace(`{${"id"}}`, encodeURIComponent(String(id))); - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - // authentication BearerAuth required - await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration) - - localVarHeaderParameter['Accept'] = 'application/json'; - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - /** - * Invite a user as collaborator. Only the owner (or admin) can add. - * @summary Add playlist collaborator - * @param {string} id Playlist UUID - * @param {InternalHandlersAddCollaboratorRequest} request Collaborator + permission - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - playlistsIdCollaboratorsPost: async (id: string, request: InternalHandlersAddCollaboratorRequest, options: RawAxiosRequestConfig = {}): Promise => { - // verify required parameter 'id' is not null or undefined - assertParamExists('playlistsIdCollaboratorsPost', 'id', id) - // verify required parameter 'request' is not null or undefined - assertParamExists('playlistsIdCollaboratorsPost', 'request', request) - const localVarPath = `/playlists/{id}/collaborators` - .replace(`{${"id"}}`, encodeURIComponent(String(id))); - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - // authentication BearerAuth required - await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration) - - localVarHeaderParameter['Content-Type'] = 'application/json'; - localVarHeaderParameter['Accept'] = 'application/json'; - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - localVarRequestOptions.data = serializeDataIfNeeded(request, localVarRequestOptions, configuration) - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - /** - * Revoke a collaborator\'s access. Only the owner (or admin) can remove. - * @summary Remove playlist collaborator - * @param {string} id Playlist UUID - * @param {string} userId Collaborator user UUID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - playlistsIdCollaboratorsUserIdDelete: async (id: string, userId: string, options: RawAxiosRequestConfig = {}): Promise => { - // verify required parameter 'id' is not null or undefined - assertParamExists('playlistsIdCollaboratorsUserIdDelete', 'id', id) - // verify required parameter 'userId' is not null or undefined - assertParamExists('playlistsIdCollaboratorsUserIdDelete', 'userId', userId) - const localVarPath = `/playlists/{id}/collaborators/{userId}` - .replace(`{${"id"}}`, encodeURIComponent(String(id))) - .replace(`{${"userId"}}`, encodeURIComponent(String(userId))); - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'DELETE', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - // authentication BearerAuth required - await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration) - - localVarHeaderParameter['Accept'] = 'application/json'; - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - /** - * Change a collaborator\'s permission level (read / write / admin). Only the owner can update. - * @summary Update collaborator permission - * @param {string} id Playlist UUID - * @param {string} userId Collaborator user UUID - * @param {InternalHandlersUpdateCollaboratorPermissionRequest} request New permission - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - playlistsIdCollaboratorsUserIdPut: async (id: string, userId: string, request: InternalHandlersUpdateCollaboratorPermissionRequest, options: RawAxiosRequestConfig = {}): Promise => { - // verify required parameter 'id' is not null or undefined - assertParamExists('playlistsIdCollaboratorsUserIdPut', 'id', id) - // verify required parameter 'userId' is not null or undefined - assertParamExists('playlistsIdCollaboratorsUserIdPut', 'userId', userId) - // verify required parameter 'request' is not null or undefined - assertParamExists('playlistsIdCollaboratorsUserIdPut', 'request', request) - const localVarPath = `/playlists/{id}/collaborators/{userId}` - .replace(`{${"id"}}`, encodeURIComponent(String(id))) - .replace(`{${"userId"}}`, encodeURIComponent(String(userId))); - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'PUT', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - // authentication BearerAuth required - await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration) - - localVarHeaderParameter['Content-Type'] = 'application/json'; - localVarHeaderParameter['Accept'] = 'application/json'; - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - localVarRequestOptions.data = serializeDataIfNeeded(request, localVarRequestOptions, configuration) - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - /** - * Permanently delete a playlist - * @summary Delete Playlist - * @param {string} id Playlist ID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - playlistsIdDelete: async (id: string, options: RawAxiosRequestConfig = {}): Promise => { - // verify required parameter 'id' is not null or undefined - assertParamExists('playlistsIdDelete', 'id', id) - const localVarPath = `/playlists/{id}` - .replace(`{${"id"}}`, encodeURIComponent(String(id))); - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'DELETE', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - // authentication BearerAuth required - await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration) - - localVarHeaderParameter['Accept'] = 'application/json'; - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - /** - * Copy a playlist\'s track list into a new playlist owned by the authenticated user. Cover/description copied; original unchanged. - * @summary Duplicate playlist - * @param {string} id Source playlist UUID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - playlistsIdDuplicatePost: async (id: string, options: RawAxiosRequestConfig = {}): Promise => { - // verify required parameter 'id' is not null or undefined - assertParamExists('playlistsIdDuplicatePost', 'id', id) - const localVarPath = `/playlists/{id}/duplicate` - .replace(`{${"id"}}`, encodeURIComponent(String(id))); - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - // authentication BearerAuth required - await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration) - - localVarHeaderParameter['Accept'] = 'application/json'; - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - /** - * Get detailed information about a playlist - * @summary Get Playlist by ID - * @param {string} id Playlist ID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - playlistsIdGet: async (id: string, options: RawAxiosRequestConfig = {}): Promise => { - // verify required parameter 'id' is not null or undefined - assertParamExists('playlistsIdGet', 'id', id) - const localVarPath = `/playlists/{id}` - .replace(`{${"id"}}`, encodeURIComponent(String(id))); - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - // authentication BearerAuth required - await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration) - - localVarHeaderParameter['Accept'] = 'application/json'; - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - /** - * Update playlist metadata - * @summary Update Playlist - * @param {string} id Playlist ID - * @param {InternalHandlersUpdatePlaylistRequest} playlist Playlist Metadata - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - playlistsIdPut: async (id: string, playlist: InternalHandlersUpdatePlaylistRequest, options: RawAxiosRequestConfig = {}): Promise => { - // verify required parameter 'id' is not null or undefined - assertParamExists('playlistsIdPut', 'id', id) - // verify required parameter 'playlist' is not null or undefined - assertParamExists('playlistsIdPut', 'playlist', playlist) - const localVarPath = `/playlists/{id}` - .replace(`{${"id"}}`, encodeURIComponent(String(id))); - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'PUT', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - // authentication BearerAuth required - await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration) - - localVarHeaderParameter['Content-Type'] = 'application/json'; - localVarHeaderParameter['Accept'] = 'application/json'; - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - localVarRequestOptions.data = serializeDataIfNeeded(playlist, localVarRequestOptions, configuration) - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - /** - * Generate a tokenised link to share a playlist (read-only). Only owner / admin can issue. No body required. - * @summary Create playlist share link - * @param {string} id Playlist UUID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - playlistsIdSharePost: async (id: string, options: RawAxiosRequestConfig = {}): Promise => { - // verify required parameter 'id' is not null or undefined - assertParamExists('playlistsIdSharePost', 'id', id) - const localVarPath = `/playlists/{id}/share` - .replace(`{${"id"}}`, encodeURIComponent(String(id))); - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - // authentication BearerAuth required - await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration) - - localVarHeaderParameter['Accept'] = 'application/json'; - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - /** - * Add a track to the playlist - * @summary Add Track to Playlist - * @param {string} id Playlist ID - * @param {PlaylistsIdTracksPostRequest} trackId Track ID (in body) - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - playlistsIdTracksPost: async (id: string, trackId: PlaylistsIdTracksPostRequest, options: RawAxiosRequestConfig = {}): Promise => { - // verify required parameter 'id' is not null or undefined - assertParamExists('playlistsIdTracksPost', 'id', id) - // verify required parameter 'trackId' is not null or undefined - assertParamExists('playlistsIdTracksPost', 'trackId', trackId) - const localVarPath = `/playlists/{id}/tracks` - .replace(`{${"id"}}`, encodeURIComponent(String(id))); - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - // authentication BearerAuth required - await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration) - - localVarHeaderParameter['Content-Type'] = 'application/json'; - localVarHeaderParameter['Accept'] = 'application/json'; - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - localVarRequestOptions.data = serializeDataIfNeeded(trackId, localVarRequestOptions, configuration) - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - /** - * Reorder tracks in the playlist - * @summary Reorder Tracks - * @param {string} id Playlist ID - * @param {InternalHandlersReorderTracksRequest} order New Track Order - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - playlistsIdTracksReorderPut: async (id: string, order: InternalHandlersReorderTracksRequest, options: RawAxiosRequestConfig = {}): Promise => { - // verify required parameter 'id' is not null or undefined - assertParamExists('playlistsIdTracksReorderPut', 'id', id) - // verify required parameter 'order' is not null or undefined - assertParamExists('playlistsIdTracksReorderPut', 'order', order) - const localVarPath = `/playlists/{id}/tracks/reorder` - .replace(`{${"id"}}`, encodeURIComponent(String(id))); - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'PUT', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - // authentication BearerAuth required - await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration) - - localVarHeaderParameter['Content-Type'] = 'application/json'; - localVarHeaderParameter['Accept'] = 'application/json'; - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - localVarRequestOptions.data = serializeDataIfNeeded(order, localVarRequestOptions, configuration) - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - /** - * Remove a track from the playlist - * @summary Remove Track from Playlist - * @param {string} id Playlist ID - * @param {string} trackId Track ID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - playlistsIdTracksTrackIdDelete: async (id: string, trackId: string, options: RawAxiosRequestConfig = {}): Promise => { - // verify required parameter 'id' is not null or undefined - assertParamExists('playlistsIdTracksTrackIdDelete', 'id', id) - // verify required parameter 'trackId' is not null or undefined - assertParamExists('playlistsIdTracksTrackIdDelete', 'trackId', trackId) - const localVarPath = `/playlists/{id}/tracks/{trackId}` - .replace(`{${"id"}}`, encodeURIComponent(String(id))) - .replace(`{${"trackId"}}`, encodeURIComponent(String(trackId))); - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'DELETE', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - // authentication BearerAuth required - await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration) - - localVarHeaderParameter['Accept'] = 'application/json'; - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - /** - * Create a playlist from a JSON payload (title, description, is_public, ordered track IDs). Useful for bulk seed / migration. - * @summary Import playlist - * @param {InternalHandlersImportPlaylistRequest} request Playlist + tracks - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - playlistsImportPost: async (request: InternalHandlersImportPlaylistRequest, options: RawAxiosRequestConfig = {}): Promise => { - // verify required parameter 'request' is not null or undefined - assertParamExists('playlistsImportPost', 'request', request) - const localVarPath = `/playlists/import`; - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - // authentication BearerAuth required - await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration) - - localVarHeaderParameter['Content-Type'] = 'application/json'; - localVarHeaderParameter['Accept'] = 'application/json'; - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - localVarRequestOptions.data = serializeDataIfNeeded(request, localVarRequestOptions, configuration) - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - /** - * Create a new playlist - * @summary Create Playlist - * @param {InternalHandlersCreatePlaylistRequest} request Playlist Metadata - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - playlistsPost: async (request: InternalHandlersCreatePlaylistRequest, options: RawAxiosRequestConfig = {}): Promise => { - // verify required parameter 'request' is not null or undefined - assertParamExists('playlistsPost', 'request', request) - const localVarPath = `/playlists`; - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - // authentication BearerAuth required - await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration) - - localVarHeaderParameter['Content-Type'] = 'application/json'; - localVarHeaderParameter['Accept'] = 'application/json'; - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - localVarRequestOptions.data = serializeDataIfNeeded(request, localVarRequestOptions, configuration) - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - /** - * Suggested playlists for the authenticated user. Chronological / declarative discovery — no behavioural ranking (CLAUDE.md rule 7). - * @summary Get playlist recommendations - * @param {number} [limit] Max items (max 100) - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - playlistsRecommendationsGet: async (limit?: number, options: RawAxiosRequestConfig = {}): Promise => { - const localVarPath = `/playlists/recommendations`; - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - // authentication BearerAuth required - await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration) - - if (limit !== undefined) { - localVarQueryParameter['limit'] = limit; - } - - localVarHeaderParameter['Accept'] = 'application/json'; - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - /** - * Full-text search on public playlists (title + description). Paginated. - * @summary Search playlists - * @param {string} [q] Full-text query - * @param {number} [page] Page number - * @param {number} [limit] Items per page (max 100) - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - playlistsSearchGet: async (q?: string, page?: number, limit?: number, options: RawAxiosRequestConfig = {}): Promise => { - const localVarPath = `/playlists/search`; - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - if (q !== undefined) { - localVarQueryParameter['q'] = q; - } - - if (page !== undefined) { - localVarQueryParameter['page'] = page; - } - - if (limit !== undefined) { - localVarQueryParameter['limit'] = limit; - } - - localVarHeaderParameter['Accept'] = 'application/json'; - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - /** - * Public endpoint resolving a share token. Allows unauthenticated access to the playlist snapshot + tracks. - * @summary Get playlist by share token - * @param {string} token Share token - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - playlistsSharedTokenGet: async (token: string, options: RawAxiosRequestConfig = {}): Promise => { - // verify required parameter 'token' is not null or undefined - assertParamExists('playlistsSharedTokenGet', 'token', token) - const localVarPath = `/playlists/shared/{token}` - .replace(`{${"token"}}`, encodeURIComponent(String(token))); - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - localVarHeaderParameter['Accept'] = 'application/json'; - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - } -}; - -/** - * PlaylistApi - functional programming interface - */ -export const PlaylistApiFp = function(configuration?: Configuration) { - const localVarAxiosParamCreator = PlaylistApiAxiosParamCreator(configuration) - return { - /** - * Returns the authenticated user\'s \"Favoris\" playlist. Auto-created on first call. Used by the like-as-save pattern. - * @summary Get Favoris playlist - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async playlistsFavorisGet(options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.playlistsFavorisGet(options); - const localVarOperationServerIndex = configuration?.serverIndex ?? 0; - const localVarOperationServerBasePath = operationServerMap['PlaylistApi.playlistsFavorisGet']?.[localVarOperationServerIndex]?.url; - return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); - }, - /** - * Get a paginated list of playlists - * @summary Get Playlists - * @param {number} [page] Page number - * @param {number} [limit] Items per page - * @param {string} [userId] Filter by User ID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async playlistsGet(page?: number, limit?: number, userId?: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.playlistsGet(page, limit, userId, options); - const localVarOperationServerIndex = configuration?.serverIndex ?? 0; - const localVarOperationServerBasePath = operationServerMap['PlaylistApi.playlistsGet']?.[localVarOperationServerIndex]?.url; - return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); - }, - /** - * Returns aggregated stats for a playlist (plays, follows, tracks count, etc.). Visible to the owner, collaborators and admins. - * @summary Get playlist statistics - * @param {string} id Playlist UUID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async playlistsIdAnalyticsGet(id: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.playlistsIdAnalyticsGet(id, options); - const localVarOperationServerIndex = configuration?.serverIndex ?? 0; - const localVarOperationServerBasePath = operationServerMap['PlaylistApi.playlistsIdAnalyticsGet']?.[localVarOperationServerIndex]?.url; - return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); - }, - /** - * Returns the collaborators of a playlist with their permission level. - * @summary List playlist collaborators - * @param {string} id Playlist UUID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async playlistsIdCollaboratorsGet(id: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.playlistsIdCollaboratorsGet(id, options); - const localVarOperationServerIndex = configuration?.serverIndex ?? 0; - const localVarOperationServerBasePath = operationServerMap['PlaylistApi.playlistsIdCollaboratorsGet']?.[localVarOperationServerIndex]?.url; - return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); - }, - /** - * Invite a user as collaborator. Only the owner (or admin) can add. - * @summary Add playlist collaborator - * @param {string} id Playlist UUID - * @param {InternalHandlersAddCollaboratorRequest} request Collaborator + permission - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async playlistsIdCollaboratorsPost(id: string, request: InternalHandlersAddCollaboratorRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.playlistsIdCollaboratorsPost(id, request, options); - const localVarOperationServerIndex = configuration?.serverIndex ?? 0; - const localVarOperationServerBasePath = operationServerMap['PlaylistApi.playlistsIdCollaboratorsPost']?.[localVarOperationServerIndex]?.url; - return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); - }, - /** - * Revoke a collaborator\'s access. Only the owner (or admin) can remove. - * @summary Remove playlist collaborator - * @param {string} id Playlist UUID - * @param {string} userId Collaborator user UUID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async playlistsIdCollaboratorsUserIdDelete(id: string, userId: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.playlistsIdCollaboratorsUserIdDelete(id, userId, options); - const localVarOperationServerIndex = configuration?.serverIndex ?? 0; - const localVarOperationServerBasePath = operationServerMap['PlaylistApi.playlistsIdCollaboratorsUserIdDelete']?.[localVarOperationServerIndex]?.url; - return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); - }, - /** - * Change a collaborator\'s permission level (read / write / admin). Only the owner can update. - * @summary Update collaborator permission - * @param {string} id Playlist UUID - * @param {string} userId Collaborator user UUID - * @param {InternalHandlersUpdateCollaboratorPermissionRequest} request New permission - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async playlistsIdCollaboratorsUserIdPut(id: string, userId: string, request: InternalHandlersUpdateCollaboratorPermissionRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.playlistsIdCollaboratorsUserIdPut(id, userId, request, options); - const localVarOperationServerIndex = configuration?.serverIndex ?? 0; - const localVarOperationServerBasePath = operationServerMap['PlaylistApi.playlistsIdCollaboratorsUserIdPut']?.[localVarOperationServerIndex]?.url; - return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); - }, - /** - * Permanently delete a playlist - * @summary Delete Playlist - * @param {string} id Playlist ID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async playlistsIdDelete(id: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.playlistsIdDelete(id, options); - const localVarOperationServerIndex = configuration?.serverIndex ?? 0; - const localVarOperationServerBasePath = operationServerMap['PlaylistApi.playlistsIdDelete']?.[localVarOperationServerIndex]?.url; - return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); - }, - /** - * Copy a playlist\'s track list into a new playlist owned by the authenticated user. Cover/description copied; original unchanged. - * @summary Duplicate playlist - * @param {string} id Source playlist UUID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async playlistsIdDuplicatePost(id: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.playlistsIdDuplicatePost(id, options); - const localVarOperationServerIndex = configuration?.serverIndex ?? 0; - const localVarOperationServerBasePath = operationServerMap['PlaylistApi.playlistsIdDuplicatePost']?.[localVarOperationServerIndex]?.url; - return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); - }, - /** - * Get detailed information about a playlist - * @summary Get Playlist by ID - * @param {string} id Playlist ID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async playlistsIdGet(id: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.playlistsIdGet(id, options); - const localVarOperationServerIndex = configuration?.serverIndex ?? 0; - const localVarOperationServerBasePath = operationServerMap['PlaylistApi.playlistsIdGet']?.[localVarOperationServerIndex]?.url; - return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); - }, - /** - * Update playlist metadata - * @summary Update Playlist - * @param {string} id Playlist ID - * @param {InternalHandlersUpdatePlaylistRequest} playlist Playlist Metadata - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async playlistsIdPut(id: string, playlist: InternalHandlersUpdatePlaylistRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.playlistsIdPut(id, playlist, options); - const localVarOperationServerIndex = configuration?.serverIndex ?? 0; - const localVarOperationServerBasePath = operationServerMap['PlaylistApi.playlistsIdPut']?.[localVarOperationServerIndex]?.url; - return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); - }, - /** - * Generate a tokenised link to share a playlist (read-only). Only owner / admin can issue. No body required. - * @summary Create playlist share link - * @param {string} id Playlist UUID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async playlistsIdSharePost(id: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.playlistsIdSharePost(id, options); - const localVarOperationServerIndex = configuration?.serverIndex ?? 0; - const localVarOperationServerBasePath = operationServerMap['PlaylistApi.playlistsIdSharePost']?.[localVarOperationServerIndex]?.url; - return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); - }, - /** - * Add a track to the playlist - * @summary Add Track to Playlist - * @param {string} id Playlist ID - * @param {PlaylistsIdTracksPostRequest} trackId Track ID (in body) - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async playlistsIdTracksPost(id: string, trackId: PlaylistsIdTracksPostRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.playlistsIdTracksPost(id, trackId, options); - const localVarOperationServerIndex = configuration?.serverIndex ?? 0; - const localVarOperationServerBasePath = operationServerMap['PlaylistApi.playlistsIdTracksPost']?.[localVarOperationServerIndex]?.url; - return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); - }, - /** - * Reorder tracks in the playlist - * @summary Reorder Tracks - * @param {string} id Playlist ID - * @param {InternalHandlersReorderTracksRequest} order New Track Order - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async playlistsIdTracksReorderPut(id: string, order: InternalHandlersReorderTracksRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.playlistsIdTracksReorderPut(id, order, options); - const localVarOperationServerIndex = configuration?.serverIndex ?? 0; - const localVarOperationServerBasePath = operationServerMap['PlaylistApi.playlistsIdTracksReorderPut']?.[localVarOperationServerIndex]?.url; - return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); - }, - /** - * Remove a track from the playlist - * @summary Remove Track from Playlist - * @param {string} id Playlist ID - * @param {string} trackId Track ID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async playlistsIdTracksTrackIdDelete(id: string, trackId: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.playlistsIdTracksTrackIdDelete(id, trackId, options); - const localVarOperationServerIndex = configuration?.serverIndex ?? 0; - const localVarOperationServerBasePath = operationServerMap['PlaylistApi.playlistsIdTracksTrackIdDelete']?.[localVarOperationServerIndex]?.url; - return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); - }, - /** - * Create a playlist from a JSON payload (title, description, is_public, ordered track IDs). Useful for bulk seed / migration. - * @summary Import playlist - * @param {InternalHandlersImportPlaylistRequest} request Playlist + tracks - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async playlistsImportPost(request: InternalHandlersImportPlaylistRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.playlistsImportPost(request, options); - const localVarOperationServerIndex = configuration?.serverIndex ?? 0; - const localVarOperationServerBasePath = operationServerMap['PlaylistApi.playlistsImportPost']?.[localVarOperationServerIndex]?.url; - return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); - }, - /** - * Create a new playlist - * @summary Create Playlist - * @param {InternalHandlersCreatePlaylistRequest} request Playlist Metadata - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async playlistsPost(request: InternalHandlersCreatePlaylistRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.playlistsPost(request, options); - const localVarOperationServerIndex = configuration?.serverIndex ?? 0; - const localVarOperationServerBasePath = operationServerMap['PlaylistApi.playlistsPost']?.[localVarOperationServerIndex]?.url; - return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); - }, - /** - * Suggested playlists for the authenticated user. Chronological / declarative discovery — no behavioural ranking (CLAUDE.md rule 7). - * @summary Get playlist recommendations - * @param {number} [limit] Max items (max 100) - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async playlistsRecommendationsGet(limit?: number, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.playlistsRecommendationsGet(limit, options); - const localVarOperationServerIndex = configuration?.serverIndex ?? 0; - const localVarOperationServerBasePath = operationServerMap['PlaylistApi.playlistsRecommendationsGet']?.[localVarOperationServerIndex]?.url; - return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); - }, - /** - * Full-text search on public playlists (title + description). Paginated. - * @summary Search playlists - * @param {string} [q] Full-text query - * @param {number} [page] Page number - * @param {number} [limit] Items per page (max 100) - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async playlistsSearchGet(q?: string, page?: number, limit?: number, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.playlistsSearchGet(q, page, limit, options); - const localVarOperationServerIndex = configuration?.serverIndex ?? 0; - const localVarOperationServerBasePath = operationServerMap['PlaylistApi.playlistsSearchGet']?.[localVarOperationServerIndex]?.url; - return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); - }, - /** - * Public endpoint resolving a share token. Allows unauthenticated access to the playlist snapshot + tracks. - * @summary Get playlist by share token - * @param {string} token Share token - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async playlistsSharedTokenGet(token: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.playlistsSharedTokenGet(token, options); - const localVarOperationServerIndex = configuration?.serverIndex ?? 0; - const localVarOperationServerBasePath = operationServerMap['PlaylistApi.playlistsSharedTokenGet']?.[localVarOperationServerIndex]?.url; - return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); - }, - } -}; - -/** - * PlaylistApi - factory interface - */ -export const PlaylistApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) { - const localVarFp = PlaylistApiFp(configuration) - return { - /** - * Returns the authenticated user\'s \"Favoris\" playlist. Auto-created on first call. Used by the like-as-save pattern. - * @summary Get Favoris playlist - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - playlistsFavorisGet(options?: RawAxiosRequestConfig): AxiosPromise { - return localVarFp.playlistsFavorisGet(options).then((request) => request(axios, basePath)); - }, - /** - * Get a paginated list of playlists - * @summary Get Playlists - * @param {number} [page] Page number - * @param {number} [limit] Items per page - * @param {string} [userId] Filter by User ID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - playlistsGet(page?: number, limit?: number, userId?: string, options?: RawAxiosRequestConfig): AxiosPromise { - return localVarFp.playlistsGet(page, limit, userId, options).then((request) => request(axios, basePath)); - }, - /** - * Returns aggregated stats for a playlist (plays, follows, tracks count, etc.). Visible to the owner, collaborators and admins. - * @summary Get playlist statistics - * @param {string} id Playlist UUID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - playlistsIdAnalyticsGet(id: string, options?: RawAxiosRequestConfig): AxiosPromise { - return localVarFp.playlistsIdAnalyticsGet(id, options).then((request) => request(axios, basePath)); - }, - /** - * Returns the collaborators of a playlist with their permission level. - * @summary List playlist collaborators - * @param {string} id Playlist UUID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - playlistsIdCollaboratorsGet(id: string, options?: RawAxiosRequestConfig): AxiosPromise { - return localVarFp.playlistsIdCollaboratorsGet(id, options).then((request) => request(axios, basePath)); - }, - /** - * Invite a user as collaborator. Only the owner (or admin) can add. - * @summary Add playlist collaborator - * @param {string} id Playlist UUID - * @param {InternalHandlersAddCollaboratorRequest} request Collaborator + permission - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - playlistsIdCollaboratorsPost(id: string, request: InternalHandlersAddCollaboratorRequest, options?: RawAxiosRequestConfig): AxiosPromise { - return localVarFp.playlistsIdCollaboratorsPost(id, request, options).then((request) => request(axios, basePath)); - }, - /** - * Revoke a collaborator\'s access. Only the owner (or admin) can remove. - * @summary Remove playlist collaborator - * @param {string} id Playlist UUID - * @param {string} userId Collaborator user UUID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - playlistsIdCollaboratorsUserIdDelete(id: string, userId: string, options?: RawAxiosRequestConfig): AxiosPromise { - return localVarFp.playlistsIdCollaboratorsUserIdDelete(id, userId, options).then((request) => request(axios, basePath)); - }, - /** - * Change a collaborator\'s permission level (read / write / admin). Only the owner can update. - * @summary Update collaborator permission - * @param {string} id Playlist UUID - * @param {string} userId Collaborator user UUID - * @param {InternalHandlersUpdateCollaboratorPermissionRequest} request New permission - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - playlistsIdCollaboratorsUserIdPut(id: string, userId: string, request: InternalHandlersUpdateCollaboratorPermissionRequest, options?: RawAxiosRequestConfig): AxiosPromise { - return localVarFp.playlistsIdCollaboratorsUserIdPut(id, userId, request, options).then((request) => request(axios, basePath)); - }, - /** - * Permanently delete a playlist - * @summary Delete Playlist - * @param {string} id Playlist ID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - playlistsIdDelete(id: string, options?: RawAxiosRequestConfig): AxiosPromise { - return localVarFp.playlistsIdDelete(id, options).then((request) => request(axios, basePath)); - }, - /** - * Copy a playlist\'s track list into a new playlist owned by the authenticated user. Cover/description copied; original unchanged. - * @summary Duplicate playlist - * @param {string} id Source playlist UUID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - playlistsIdDuplicatePost(id: string, options?: RawAxiosRequestConfig): AxiosPromise { - return localVarFp.playlistsIdDuplicatePost(id, options).then((request) => request(axios, basePath)); - }, - /** - * Get detailed information about a playlist - * @summary Get Playlist by ID - * @param {string} id Playlist ID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - playlistsIdGet(id: string, options?: RawAxiosRequestConfig): AxiosPromise { - return localVarFp.playlistsIdGet(id, options).then((request) => request(axios, basePath)); - }, - /** - * Update playlist metadata - * @summary Update Playlist - * @param {string} id Playlist ID - * @param {InternalHandlersUpdatePlaylistRequest} playlist Playlist Metadata - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - playlistsIdPut(id: string, playlist: InternalHandlersUpdatePlaylistRequest, options?: RawAxiosRequestConfig): AxiosPromise { - return localVarFp.playlistsIdPut(id, playlist, options).then((request) => request(axios, basePath)); - }, - /** - * Generate a tokenised link to share a playlist (read-only). Only owner / admin can issue. No body required. - * @summary Create playlist share link - * @param {string} id Playlist UUID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - playlistsIdSharePost(id: string, options?: RawAxiosRequestConfig): AxiosPromise { - return localVarFp.playlistsIdSharePost(id, options).then((request) => request(axios, basePath)); - }, - /** - * Add a track to the playlist - * @summary Add Track to Playlist - * @param {string} id Playlist ID - * @param {PlaylistsIdTracksPostRequest} trackId Track ID (in body) - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - playlistsIdTracksPost(id: string, trackId: PlaylistsIdTracksPostRequest, options?: RawAxiosRequestConfig): AxiosPromise { - return localVarFp.playlistsIdTracksPost(id, trackId, options).then((request) => request(axios, basePath)); - }, - /** - * Reorder tracks in the playlist - * @summary Reorder Tracks - * @param {string} id Playlist ID - * @param {InternalHandlersReorderTracksRequest} order New Track Order - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - playlistsIdTracksReorderPut(id: string, order: InternalHandlersReorderTracksRequest, options?: RawAxiosRequestConfig): AxiosPromise { - return localVarFp.playlistsIdTracksReorderPut(id, order, options).then((request) => request(axios, basePath)); - }, - /** - * Remove a track from the playlist - * @summary Remove Track from Playlist - * @param {string} id Playlist ID - * @param {string} trackId Track ID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - playlistsIdTracksTrackIdDelete(id: string, trackId: string, options?: RawAxiosRequestConfig): AxiosPromise { - return localVarFp.playlistsIdTracksTrackIdDelete(id, trackId, options).then((request) => request(axios, basePath)); - }, - /** - * Create a playlist from a JSON payload (title, description, is_public, ordered track IDs). Useful for bulk seed / migration. - * @summary Import playlist - * @param {InternalHandlersImportPlaylistRequest} request Playlist + tracks - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - playlistsImportPost(request: InternalHandlersImportPlaylistRequest, options?: RawAxiosRequestConfig): AxiosPromise { - return localVarFp.playlistsImportPost(request, options).then((request) => request(axios, basePath)); - }, - /** - * Create a new playlist - * @summary Create Playlist - * @param {InternalHandlersCreatePlaylistRequest} request Playlist Metadata - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - playlistsPost(request: InternalHandlersCreatePlaylistRequest, options?: RawAxiosRequestConfig): AxiosPromise { - return localVarFp.playlistsPost(request, options).then((request) => request(axios, basePath)); - }, - /** - * Suggested playlists for the authenticated user. Chronological / declarative discovery — no behavioural ranking (CLAUDE.md rule 7). - * @summary Get playlist recommendations - * @param {number} [limit] Max items (max 100) - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - playlistsRecommendationsGet(limit?: number, options?: RawAxiosRequestConfig): AxiosPromise { - return localVarFp.playlistsRecommendationsGet(limit, options).then((request) => request(axios, basePath)); - }, - /** - * Full-text search on public playlists (title + description). Paginated. - * @summary Search playlists - * @param {string} [q] Full-text query - * @param {number} [page] Page number - * @param {number} [limit] Items per page (max 100) - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - playlistsSearchGet(q?: string, page?: number, limit?: number, options?: RawAxiosRequestConfig): AxiosPromise { - return localVarFp.playlistsSearchGet(q, page, limit, options).then((request) => request(axios, basePath)); - }, - /** - * Public endpoint resolving a share token. Allows unauthenticated access to the playlist snapshot + tracks. - * @summary Get playlist by share token - * @param {string} token Share token - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - playlistsSharedTokenGet(token: string, options?: RawAxiosRequestConfig): AxiosPromise { - return localVarFp.playlistsSharedTokenGet(token, options).then((request) => request(axios, basePath)); - }, - }; -}; - -/** - * PlaylistApi - interface - */ -export interface PlaylistApiInterface { - /** - * Returns the authenticated user\'s \"Favoris\" playlist. Auto-created on first call. Used by the like-as-save pattern. - * @summary Get Favoris playlist - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - playlistsFavorisGet(options?: RawAxiosRequestConfig): AxiosPromise; - - /** - * Get a paginated list of playlists - * @summary Get Playlists - * @param {number} [page] Page number - * @param {number} [limit] Items per page - * @param {string} [userId] Filter by User ID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - playlistsGet(page?: number, limit?: number, userId?: string, options?: RawAxiosRequestConfig): AxiosPromise; - - /** - * Returns aggregated stats for a playlist (plays, follows, tracks count, etc.). Visible to the owner, collaborators and admins. - * @summary Get playlist statistics - * @param {string} id Playlist UUID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - playlistsIdAnalyticsGet(id: string, options?: RawAxiosRequestConfig): AxiosPromise; - - /** - * Returns the collaborators of a playlist with their permission level. - * @summary List playlist collaborators - * @param {string} id Playlist UUID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - playlistsIdCollaboratorsGet(id: string, options?: RawAxiosRequestConfig): AxiosPromise; - - /** - * Invite a user as collaborator. Only the owner (or admin) can add. - * @summary Add playlist collaborator - * @param {string} id Playlist UUID - * @param {InternalHandlersAddCollaboratorRequest} request Collaborator + permission - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - playlistsIdCollaboratorsPost(id: string, request: InternalHandlersAddCollaboratorRequest, options?: RawAxiosRequestConfig): AxiosPromise; - - /** - * Revoke a collaborator\'s access. Only the owner (or admin) can remove. - * @summary Remove playlist collaborator - * @param {string} id Playlist UUID - * @param {string} userId Collaborator user UUID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - playlistsIdCollaboratorsUserIdDelete(id: string, userId: string, options?: RawAxiosRequestConfig): AxiosPromise; - - /** - * Change a collaborator\'s permission level (read / write / admin). Only the owner can update. - * @summary Update collaborator permission - * @param {string} id Playlist UUID - * @param {string} userId Collaborator user UUID - * @param {InternalHandlersUpdateCollaboratorPermissionRequest} request New permission - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - playlistsIdCollaboratorsUserIdPut(id: string, userId: string, request: InternalHandlersUpdateCollaboratorPermissionRequest, options?: RawAxiosRequestConfig): AxiosPromise; - - /** - * Permanently delete a playlist - * @summary Delete Playlist - * @param {string} id Playlist ID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - playlistsIdDelete(id: string, options?: RawAxiosRequestConfig): AxiosPromise; - - /** - * Copy a playlist\'s track list into a new playlist owned by the authenticated user. Cover/description copied; original unchanged. - * @summary Duplicate playlist - * @param {string} id Source playlist UUID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - playlistsIdDuplicatePost(id: string, options?: RawAxiosRequestConfig): AxiosPromise; - - /** - * Get detailed information about a playlist - * @summary Get Playlist by ID - * @param {string} id Playlist ID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - playlistsIdGet(id: string, options?: RawAxiosRequestConfig): AxiosPromise; - - /** - * Update playlist metadata - * @summary Update Playlist - * @param {string} id Playlist ID - * @param {InternalHandlersUpdatePlaylistRequest} playlist Playlist Metadata - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - playlistsIdPut(id: string, playlist: InternalHandlersUpdatePlaylistRequest, options?: RawAxiosRequestConfig): AxiosPromise; - - /** - * Generate a tokenised link to share a playlist (read-only). Only owner / admin can issue. No body required. - * @summary Create playlist share link - * @param {string} id Playlist UUID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - playlistsIdSharePost(id: string, options?: RawAxiosRequestConfig): AxiosPromise; - - /** - * Add a track to the playlist - * @summary Add Track to Playlist - * @param {string} id Playlist ID - * @param {PlaylistsIdTracksPostRequest} trackId Track ID (in body) - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - playlistsIdTracksPost(id: string, trackId: PlaylistsIdTracksPostRequest, options?: RawAxiosRequestConfig): AxiosPromise; - - /** - * Reorder tracks in the playlist - * @summary Reorder Tracks - * @param {string} id Playlist ID - * @param {InternalHandlersReorderTracksRequest} order New Track Order - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - playlistsIdTracksReorderPut(id: string, order: InternalHandlersReorderTracksRequest, options?: RawAxiosRequestConfig): AxiosPromise; - - /** - * Remove a track from the playlist - * @summary Remove Track from Playlist - * @param {string} id Playlist ID - * @param {string} trackId Track ID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - playlistsIdTracksTrackIdDelete(id: string, trackId: string, options?: RawAxiosRequestConfig): AxiosPromise; - - /** - * Create a playlist from a JSON payload (title, description, is_public, ordered track IDs). Useful for bulk seed / migration. - * @summary Import playlist - * @param {InternalHandlersImportPlaylistRequest} request Playlist + tracks - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - playlistsImportPost(request: InternalHandlersImportPlaylistRequest, options?: RawAxiosRequestConfig): AxiosPromise; - - /** - * Create a new playlist - * @summary Create Playlist - * @param {InternalHandlersCreatePlaylistRequest} request Playlist Metadata - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - playlistsPost(request: InternalHandlersCreatePlaylistRequest, options?: RawAxiosRequestConfig): AxiosPromise; - - /** - * Suggested playlists for the authenticated user. Chronological / declarative discovery — no behavioural ranking (CLAUDE.md rule 7). - * @summary Get playlist recommendations - * @param {number} [limit] Max items (max 100) - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - playlistsRecommendationsGet(limit?: number, options?: RawAxiosRequestConfig): AxiosPromise; - - /** - * Full-text search on public playlists (title + description). Paginated. - * @summary Search playlists - * @param {string} [q] Full-text query - * @param {number} [page] Page number - * @param {number} [limit] Items per page (max 100) - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - playlistsSearchGet(q?: string, page?: number, limit?: number, options?: RawAxiosRequestConfig): AxiosPromise; - - /** - * Public endpoint resolving a share token. Allows unauthenticated access to the playlist snapshot + tracks. - * @summary Get playlist by share token - * @param {string} token Share token - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - playlistsSharedTokenGet(token: string, options?: RawAxiosRequestConfig): AxiosPromise; - -} - -/** - * PlaylistApi - object-oriented interface - */ -export class PlaylistApi extends BaseAPI implements PlaylistApiInterface { - /** - * Returns the authenticated user\'s \"Favoris\" playlist. Auto-created on first call. Used by the like-as-save pattern. - * @summary Get Favoris playlist - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - public playlistsFavorisGet(options?: RawAxiosRequestConfig) { - return PlaylistApiFp(this.configuration).playlistsFavorisGet(options).then((request) => request(this.axios, this.basePath)); - } - - /** - * Get a paginated list of playlists - * @summary Get Playlists - * @param {number} [page] Page number - * @param {number} [limit] Items per page - * @param {string} [userId] Filter by User ID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - public playlistsGet(page?: number, limit?: number, userId?: string, options?: RawAxiosRequestConfig) { - return PlaylistApiFp(this.configuration).playlistsGet(page, limit, userId, options).then((request) => request(this.axios, this.basePath)); - } - - /** - * Returns aggregated stats for a playlist (plays, follows, tracks count, etc.). Visible to the owner, collaborators and admins. - * @summary Get playlist statistics - * @param {string} id Playlist UUID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - public playlistsIdAnalyticsGet(id: string, options?: RawAxiosRequestConfig) { - return PlaylistApiFp(this.configuration).playlistsIdAnalyticsGet(id, options).then((request) => request(this.axios, this.basePath)); - } - - /** - * Returns the collaborators of a playlist with their permission level. - * @summary List playlist collaborators - * @param {string} id Playlist UUID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - public playlistsIdCollaboratorsGet(id: string, options?: RawAxiosRequestConfig) { - return PlaylistApiFp(this.configuration).playlistsIdCollaboratorsGet(id, options).then((request) => request(this.axios, this.basePath)); - } - - /** - * Invite a user as collaborator. Only the owner (or admin) can add. - * @summary Add playlist collaborator - * @param {string} id Playlist UUID - * @param {InternalHandlersAddCollaboratorRequest} request Collaborator + permission - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - public playlistsIdCollaboratorsPost(id: string, request: InternalHandlersAddCollaboratorRequest, options?: RawAxiosRequestConfig) { - return PlaylistApiFp(this.configuration).playlistsIdCollaboratorsPost(id, request, options).then((request) => request(this.axios, this.basePath)); - } - - /** - * Revoke a collaborator\'s access. Only the owner (or admin) can remove. - * @summary Remove playlist collaborator - * @param {string} id Playlist UUID - * @param {string} userId Collaborator user UUID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - public playlistsIdCollaboratorsUserIdDelete(id: string, userId: string, options?: RawAxiosRequestConfig) { - return PlaylistApiFp(this.configuration).playlistsIdCollaboratorsUserIdDelete(id, userId, options).then((request) => request(this.axios, this.basePath)); - } - - /** - * Change a collaborator\'s permission level (read / write / admin). Only the owner can update. - * @summary Update collaborator permission - * @param {string} id Playlist UUID - * @param {string} userId Collaborator user UUID - * @param {InternalHandlersUpdateCollaboratorPermissionRequest} request New permission - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - public playlistsIdCollaboratorsUserIdPut(id: string, userId: string, request: InternalHandlersUpdateCollaboratorPermissionRequest, options?: RawAxiosRequestConfig) { - return PlaylistApiFp(this.configuration).playlistsIdCollaboratorsUserIdPut(id, userId, request, options).then((request) => request(this.axios, this.basePath)); - } - - /** - * Permanently delete a playlist - * @summary Delete Playlist - * @param {string} id Playlist ID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - public playlistsIdDelete(id: string, options?: RawAxiosRequestConfig) { - return PlaylistApiFp(this.configuration).playlistsIdDelete(id, options).then((request) => request(this.axios, this.basePath)); - } - - /** - * Copy a playlist\'s track list into a new playlist owned by the authenticated user. Cover/description copied; original unchanged. - * @summary Duplicate playlist - * @param {string} id Source playlist UUID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - public playlistsIdDuplicatePost(id: string, options?: RawAxiosRequestConfig) { - return PlaylistApiFp(this.configuration).playlistsIdDuplicatePost(id, options).then((request) => request(this.axios, this.basePath)); - } - - /** - * Get detailed information about a playlist - * @summary Get Playlist by ID - * @param {string} id Playlist ID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - public playlistsIdGet(id: string, options?: RawAxiosRequestConfig) { - return PlaylistApiFp(this.configuration).playlistsIdGet(id, options).then((request) => request(this.axios, this.basePath)); - } - - /** - * Update playlist metadata - * @summary Update Playlist - * @param {string} id Playlist ID - * @param {InternalHandlersUpdatePlaylistRequest} playlist Playlist Metadata - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - public playlistsIdPut(id: string, playlist: InternalHandlersUpdatePlaylistRequest, options?: RawAxiosRequestConfig) { - return PlaylistApiFp(this.configuration).playlistsIdPut(id, playlist, options).then((request) => request(this.axios, this.basePath)); - } - - /** - * Generate a tokenised link to share a playlist (read-only). Only owner / admin can issue. No body required. - * @summary Create playlist share link - * @param {string} id Playlist UUID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - public playlistsIdSharePost(id: string, options?: RawAxiosRequestConfig) { - return PlaylistApiFp(this.configuration).playlistsIdSharePost(id, options).then((request) => request(this.axios, this.basePath)); - } - - /** - * Add a track to the playlist - * @summary Add Track to Playlist - * @param {string} id Playlist ID - * @param {PlaylistsIdTracksPostRequest} trackId Track ID (in body) - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - public playlistsIdTracksPost(id: string, trackId: PlaylistsIdTracksPostRequest, options?: RawAxiosRequestConfig) { - return PlaylistApiFp(this.configuration).playlistsIdTracksPost(id, trackId, options).then((request) => request(this.axios, this.basePath)); - } - - /** - * Reorder tracks in the playlist - * @summary Reorder Tracks - * @param {string} id Playlist ID - * @param {InternalHandlersReorderTracksRequest} order New Track Order - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - public playlistsIdTracksReorderPut(id: string, order: InternalHandlersReorderTracksRequest, options?: RawAxiosRequestConfig) { - return PlaylistApiFp(this.configuration).playlistsIdTracksReorderPut(id, order, options).then((request) => request(this.axios, this.basePath)); - } - - /** - * Remove a track from the playlist - * @summary Remove Track from Playlist - * @param {string} id Playlist ID - * @param {string} trackId Track ID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - public playlistsIdTracksTrackIdDelete(id: string, trackId: string, options?: RawAxiosRequestConfig) { - return PlaylistApiFp(this.configuration).playlistsIdTracksTrackIdDelete(id, trackId, options).then((request) => request(this.axios, this.basePath)); - } - - /** - * Create a playlist from a JSON payload (title, description, is_public, ordered track IDs). Useful for bulk seed / migration. - * @summary Import playlist - * @param {InternalHandlersImportPlaylistRequest} request Playlist + tracks - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - public playlistsImportPost(request: InternalHandlersImportPlaylistRequest, options?: RawAxiosRequestConfig) { - return PlaylistApiFp(this.configuration).playlistsImportPost(request, options).then((request) => request(this.axios, this.basePath)); - } - - /** - * Create a new playlist - * @summary Create Playlist - * @param {InternalHandlersCreatePlaylistRequest} request Playlist Metadata - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - public playlistsPost(request: InternalHandlersCreatePlaylistRequest, options?: RawAxiosRequestConfig) { - return PlaylistApiFp(this.configuration).playlistsPost(request, options).then((request) => request(this.axios, this.basePath)); - } - - /** - * Suggested playlists for the authenticated user. Chronological / declarative discovery — no behavioural ranking (CLAUDE.md rule 7). - * @summary Get playlist recommendations - * @param {number} [limit] Max items (max 100) - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - public playlistsRecommendationsGet(limit?: number, options?: RawAxiosRequestConfig) { - return PlaylistApiFp(this.configuration).playlistsRecommendationsGet(limit, options).then((request) => request(this.axios, this.basePath)); - } - - /** - * Full-text search on public playlists (title + description). Paginated. - * @summary Search playlists - * @param {string} [q] Full-text query - * @param {number} [page] Page number - * @param {number} [limit] Items per page (max 100) - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - public playlistsSearchGet(q?: string, page?: number, limit?: number, options?: RawAxiosRequestConfig) { - return PlaylistApiFp(this.configuration).playlistsSearchGet(q, page, limit, options).then((request) => request(this.axios, this.basePath)); - } - - /** - * Public endpoint resolving a share token. Allows unauthenticated access to the playlist snapshot + tracks. - * @summary Get playlist by share token - * @param {string} token Share token - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - public playlistsSharedTokenGet(token: string, options?: RawAxiosRequestConfig) { - return PlaylistApiFp(this.configuration).playlistsSharedTokenGet(token, options).then((request) => request(this.axios, this.basePath)); - } -} - - - -/** - * TrackApi - axios parameter creator - */ -export const TrackApiAxiosParamCreator = function (configuration?: Configuration) { - return { - /** - * Internal endpoint called by the Rust stream server when HLS transcoding completes or fails. Updates the track\'s stream_status and stream_manifest_url. Requires internal API key (not user-facing). - * @summary Stream server callback - * @param {string} id Track UUID - * @param {InternalCoreTrackStreamCallbackRequest} request Callback payload - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - internalTracksIdStreamReadyPost: async (id: string, request: InternalCoreTrackStreamCallbackRequest, options: RawAxiosRequestConfig = {}): Promise => { - // verify required parameter 'id' is not null or undefined - assertParamExists('internalTracksIdStreamReadyPost', 'id', id) - // verify required parameter 'request' is not null or undefined - assertParamExists('internalTracksIdStreamReadyPost', 'request', request) - const localVarPath = `/internal/tracks/{id}/stream-ready` - .replace(`{${"id"}}`, encodeURIComponent(String(id))); - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - localVarHeaderParameter['Content-Type'] = 'application/json'; - localVarHeaderParameter['Accept'] = 'application/json'; - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - localVarRequestOptions.data = serializeDataIfNeeded(request, localVarRequestOptions, configuration) - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - /** - * Soft-delete up to N tracks in one request. Per-track ownership checked (admin can delete others). - * @summary Batch delete tracks - * @param {InternalCoreTrackBatchDeleteRequest} request List of track UUIDs - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - tracksBatchDeletePost: async (request: InternalCoreTrackBatchDeleteRequest, options: RawAxiosRequestConfig = {}): Promise => { - // verify required parameter 'request' is not null or undefined - assertParamExists('tracksBatchDeletePost', 'request', request) - const localVarPath = `/tracks/batch/delete`; - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - // authentication BearerAuth required - await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration) - - localVarHeaderParameter['Content-Type'] = 'application/json'; - localVarHeaderParameter['Accept'] = 'application/json'; - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - localVarRequestOptions.data = serializeDataIfNeeded(request, localVarRequestOptions, configuration) - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - /** - * Apply a partial metadata update to up to N tracks in one request. Per-track ownership checked. - * @summary Batch update tracks - * @param {InternalCoreTrackBatchUpdateRequest} request Track UUIDs + shared updates map - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - tracksBatchUpdatePost: async (request: InternalCoreTrackBatchUpdateRequest, options: RawAxiosRequestConfig = {}): Promise => { - // verify required parameter 'request' is not null or undefined - assertParamExists('tracksBatchUpdatePost', 'request', request) - const localVarPath = `/tracks/batch/update`; - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - // authentication BearerAuth required - await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration) - - localVarHeaderParameter['Content-Type'] = 'application/json'; - localVarHeaderParameter['Accept'] = 'application/json'; - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - localVarRequestOptions.data = serializeDataIfNeeded(request, localVarRequestOptions, configuration) - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - /** - * Upload a single chunk of a file - * @summary Upload Chunk - * @param {File} chunk Chunk Data - * @param {string} uploadId Upload ID - * @param {number} chunkNumber Chunk Number - * @param {number} totalChunks Total Chunks - * @param {number} totalSize Total Size - * @param {string} filename Filename - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - tracksChunkPost: async (chunk: File, uploadId: string, chunkNumber: number, totalChunks: number, totalSize: number, filename: string, options: RawAxiosRequestConfig = {}): Promise => { - // verify required parameter 'chunk' is not null or undefined - assertParamExists('tracksChunkPost', 'chunk', chunk) - // verify required parameter 'uploadId' is not null or undefined - assertParamExists('tracksChunkPost', 'uploadId', uploadId) - // verify required parameter 'chunkNumber' is not null or undefined - assertParamExists('tracksChunkPost', 'chunkNumber', chunkNumber) - // verify required parameter 'totalChunks' is not null or undefined - assertParamExists('tracksChunkPost', 'totalChunks', totalChunks) - // verify required parameter 'totalSize' is not null or undefined - assertParamExists('tracksChunkPost', 'totalSize', totalSize) - // verify required parameter 'filename' is not null or undefined - assertParamExists('tracksChunkPost', 'filename', filename) - const localVarPath = `/tracks/chunk`; - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - const localVarFormParams = new ((configuration && configuration.formDataCtor) || FormData)(); - - // authentication BearerAuth required - await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration) - - - if (chunk !== undefined) { - localVarFormParams.append('chunk', chunk as any); - } - - if (uploadId !== undefined) { - localVarFormParams.append('upload_id', uploadId as any); - } - - if (chunkNumber !== undefined) { - localVarFormParams.append('chunk_number', chunkNumber as any); - } - - if (totalChunks !== undefined) { - localVarFormParams.append('total_chunks', totalChunks as any); - } - - if (totalSize !== undefined) { - localVarFormParams.append('total_size', totalSize as any); - } - - if (filename !== undefined) { - localVarFormParams.append('filename', filename as any); - } - localVarHeaderParameter['Content-Type'] = 'multipart/form-data'; - localVarHeaderParameter['Accept'] = 'application/json'; - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - localVarRequestOptions.data = localVarFormParams; - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - /** - * Finish upload session and assemble file - * @summary Complete Chunked Upload - * @param {InternalCoreTrackCompleteChunkedUploadRequest} request Upload ID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - tracksCompletePost: async (request: InternalCoreTrackCompleteChunkedUploadRequest, options: RawAxiosRequestConfig = {}): Promise => { - // verify required parameter 'request' is not null or undefined - assertParamExists('tracksCompletePost', 'request', request) - const localVarPath = `/tracks/complete`; - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - // authentication BearerAuth required - await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration) - - localVarHeaderParameter['Content-Type'] = 'application/json'; - localVarHeaderParameter['Accept'] = 'application/json'; - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - localVarRequestOptions.data = serializeDataIfNeeded(request, localVarRequestOptions, configuration) - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - /** - * List tracks with pagination, filters, sort. Cursor-based when ?cursor provided, otherwise page/limit offset. - * @summary List tracks - * @param {string} [cursor] Opaque pagination cursor (overrides page) - * @param {number} [page] Page number, 1-based (ignored if cursor set) - * @param {number} [limit] Items per page (max 100) - * @param {string} [userId] Filter by creator UUID - * @param {string} [genre] Filter by genre - * @param {string} [format] Filter by audio format (mp3, flac, wav, ogg, m4a, aac) - * @param {string} [sortBy] Sort column (created_at, play_count, title) - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - tracksGet: async (cursor?: string, page?: number, limit?: number, userId?: string, genre?: string, format?: string, sortBy?: string, options: RawAxiosRequestConfig = {}): Promise => { - const localVarPath = `/tracks`; - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - if (cursor !== undefined) { - localVarQueryParameter['cursor'] = cursor; - } - - if (page !== undefined) { - localVarQueryParameter['page'] = page; - } - - if (limit !== undefined) { - localVarQueryParameter['limit'] = limit; - } - - if (userId !== undefined) { - localVarQueryParameter['user_id'] = userId; - } - - if (genre !== undefined) { - localVarQueryParameter['genre'] = genre; - } - - if (format !== undefined) { - localVarQueryParameter['format'] = format; - } - - if (sortBy !== undefined) { - localVarQueryParameter['sort_by'] = sortBy; - } - - localVarHeaderParameter['Accept'] = 'application/json'; - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - /** - * Soft-delete a track (sets deleted_at). Caller must own the track or be admin. - * @summary Delete track - * @param {string} id Track UUID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - tracksIdDelete: async (id: string, options: RawAxiosRequestConfig = {}): Promise => { - // verify required parameter 'id' is not null or undefined - assertParamExists('tracksIdDelete', 'id', id) - const localVarPath = `/tracks/{id}` - .replace(`{${"id"}}`, encodeURIComponent(String(id))); - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'DELETE', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - // authentication BearerAuth required - await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration) - - localVarHeaderParameter['Accept'] = 'application/json'; - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - /** - * Serve the original audio file. For S3-backed tracks returns a 302 redirect to a signed URL (TTL 30min). For local-backed tracks streams the file with Range support. Public tracks or share_token access; paid tracks require a license. - * @summary Download a track - * @param {string} id Track UUID - * @param {string} [shareToken] Grants access without authentication for a limited time - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - tracksIdDownloadGet: async (id: string, shareToken?: string, options: RawAxiosRequestConfig = {}): Promise => { - // verify required parameter 'id' is not null or undefined - assertParamExists('tracksIdDownloadGet', 'id', id) - const localVarPath = `/tracks/{id}/download` - .replace(`{${"id"}}`, encodeURIComponent(String(id))); - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - if (shareToken !== undefined) { - localVarQueryParameter['share_token'] = shareToken; - } - - localVarHeaderParameter['Accept'] = 'application/octet-stream'; - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - /** - * Retrieve a single track. Private play_count / like_count are omitted for non-owners (v0.10.3 F202). - * @summary Get track by ID - * @param {string} id Track UUID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - tracksIdGet: async (id: string, options: RawAxiosRequestConfig = {}): Promise => { - // verify required parameter 'id' is not null or undefined - assertParamExists('tracksIdGet', 'id', id) - const localVarPath = `/tracks/{id}` - .replace(`{${"id"}}`, encodeURIComponent(String(id))); - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - localVarHeaderParameter['Accept'] = 'application/json'; - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - /** - * Paginated audit log of modifications (metadata updates, version changes) for a track. - * @summary Get track history - * @param {string} id Track UUID - * @param {number} [limit] Items per page - * @param {number} [offset] Offset - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - tracksIdHistoryGet: async (id: string, limit?: number, offset?: number, options: RawAxiosRequestConfig = {}): Promise => { - // verify required parameter 'id' is not null or undefined - assertParamExists('tracksIdHistoryGet', 'id', id) - const localVarPath = `/tracks/{id}/history` - .replace(`{${"id"}}`, encodeURIComponent(String(id))); - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - if (limit !== undefined) { - localVarQueryParameter['limit'] = limit; - } - - if (offset !== undefined) { - localVarQueryParameter['offset'] = offset; - } - - localVarHeaderParameter['Accept'] = 'application/json'; - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - /** - * Remove the authenticated user\'s like on the track (idempotent). - * @summary Unlike a track - * @param {string} id Track UUID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - tracksIdLikeDelete: async (id: string, options: RawAxiosRequestConfig = {}): Promise => { - // verify required parameter 'id' is not null or undefined - assertParamExists('tracksIdLikeDelete', 'id', id) - const localVarPath = `/tracks/{id}/like` - .replace(`{${"id"}}`, encodeURIComponent(String(id))); - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'DELETE', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - // authentication BearerAuth required - await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration) - - localVarHeaderParameter['Accept'] = 'application/json'; - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - /** - * Record a like from the authenticated user. Creates a grouped notification for the creator (F554). - * @summary Like a track - * @param {string} id Track UUID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - tracksIdLikePost: async (id: string, options: RawAxiosRequestConfig = {}): Promise => { - // verify required parameter 'id' is not null or undefined - assertParamExists('tracksIdLikePost', 'id', id) - const localVarPath = `/tracks/{id}/like` - .replace(`{${"id"}}`, encodeURIComponent(String(id))); - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - // authentication BearerAuth required - await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration) - - localVarHeaderParameter['Accept'] = 'application/json'; - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - /** - * Returns whether the current user has liked the track. The total like count is returned ONLY to the creator or an admin (privacy per ORIGIN_UI_UX_SYSTEM §13). - * @summary Get track like status - * @param {string} id Track UUID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - tracksIdLikesGet: async (id: string, options: RawAxiosRequestConfig = {}): Promise => { - // verify required parameter 'id' is not null or undefined - assertParamExists('tracksIdLikesGet', 'id', id) - const localVarPath = `/tracks/{id}/likes` - .replace(`{${"id"}}`, encodeURIComponent(String(id))); - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - // authentication BearerAuth required - await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration) - - localVarHeaderParameter['Accept'] = 'application/json'; - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - /** - * Returns the current lyrics for a track, or null if no lyrics exist. - * @summary Get track lyrics - * @param {string} id Track UUID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - tracksIdLyricsGet: async (id: string, options: RawAxiosRequestConfig = {}): Promise => { - // verify required parameter 'id' is not null or undefined - assertParamExists('tracksIdLyricsGet', 'id', id) - const localVarPath = `/tracks/{id}/lyrics` - .replace(`{${"id"}}`, encodeURIComponent(String(id))); - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - localVarHeaderParameter['Accept'] = 'application/json'; - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - /** - * Replace the lyrics of a track. Caller must own the track or be admin. - * @summary Create or update track lyrics - * @param {string} id Track UUID - * @param {InternalCoreTrackUpdateLyricsRequest} request Lyrics payload - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - tracksIdLyricsPut: async (id: string, request: InternalCoreTrackUpdateLyricsRequest, options: RawAxiosRequestConfig = {}): Promise => { - // verify required parameter 'id' is not null or undefined - assertParamExists('tracksIdLyricsPut', 'id', id) - // verify required parameter 'request' is not null or undefined - assertParamExists('tracksIdLyricsPut', 'request', request) - const localVarPath = `/tracks/{id}/lyrics` - .replace(`{${"id"}}`, encodeURIComponent(String(id))); - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'PUT', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - // authentication BearerAuth required - await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration) - - localVarHeaderParameter['Content-Type'] = 'application/json'; - localVarHeaderParameter['Accept'] = 'application/json'; - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - localVarRequestOptions.data = serializeDataIfNeeded(request, localVarRequestOptions, configuration) - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - /** - * Persist a playback event with optional play_time so the creator\'s analytics dashboard tracks listening behaviour. - * @summary Record play event - * @param {string} id Track UUID - * @param {InternalCoreTrackRecordPlayRequest} [request] Playback metadata (optional) - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - tracksIdPlayPost: async (id: string, request?: InternalCoreTrackRecordPlayRequest, options: RawAxiosRequestConfig = {}): Promise => { - // verify required parameter 'id' is not null or undefined - assertParamExists('tracksIdPlayPost', 'id', id) - const localVarPath = `/tracks/{id}/play` - .replace(`{${"id"}}`, encodeURIComponent(String(id))); - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - // authentication BearerAuth required - await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration) - - localVarHeaderParameter['Content-Type'] = 'application/json'; - localVarHeaderParameter['Accept'] = 'application/json'; - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - localVarRequestOptions.data = serializeDataIfNeeded(request, localVarRequestOptions, configuration) - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - /** - * Update the metadata of an existing track. Caller must own the track or be admin. - * @summary Update track metadata - * @param {string} id Track UUID - * @param {InternalCoreTrackUpdateTrackRequest} request Updated metadata - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - tracksIdPut: async (id: string, request: InternalCoreTrackUpdateTrackRequest, options: RawAxiosRequestConfig = {}): Promise => { - // verify required parameter 'id' is not null or undefined - assertParamExists('tracksIdPut', 'id', id) - // verify required parameter 'request' is not null or undefined - assertParamExists('tracksIdPut', 'request', request) - const localVarPath = `/tracks/{id}` - .replace(`{${"id"}}`, encodeURIComponent(String(id))); - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'PUT', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - // authentication BearerAuth required - await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration) - - localVarHeaderParameter['Content-Type'] = 'application/json'; - localVarHeaderParameter['Accept'] = 'application/json'; - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - localVarRequestOptions.data = serializeDataIfNeeded(request, localVarRequestOptions, configuration) - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - /** - * Remove the authenticated user\'s repost of the track (idempotent). - * @summary Remove track repost - * @param {string} id Track UUID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - tracksIdRepostDelete: async (id: string, options: RawAxiosRequestConfig = {}): Promise => { - // verify required parameter 'id' is not null or undefined - assertParamExists('tracksIdRepostDelete', 'id', id) - const localVarPath = `/tracks/{id}/repost` - .replace(`{${"id"}}`, encodeURIComponent(String(id))); - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'DELETE', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - // authentication BearerAuth required - await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration) - - localVarHeaderParameter['Accept'] = 'application/json'; - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - /** - * Returns whether the current user has reposted the track. Public (optional auth); unauthenticated callers get is_reposted=false. - * @summary Get repost status - * @param {string} id Track UUID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - tracksIdRepostGet: async (id: string, options: RawAxiosRequestConfig = {}): Promise => { - // verify required parameter 'id' is not null or undefined - assertParamExists('tracksIdRepostGet', 'id', id) - const localVarPath = `/tracks/{id}/repost` - .replace(`{${"id"}}`, encodeURIComponent(String(id))); - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - localVarHeaderParameter['Accept'] = 'application/json'; - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - /** - * Add a track to the authenticated user\'s profile as a repost. Notifies the creator (F204) unless self-repost. - * @summary Repost a track - * @param {string} id Track UUID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - tracksIdRepostPost: async (id: string, options: RawAxiosRequestConfig = {}): Promise => { - // verify required parameter 'id' is not null or undefined - assertParamExists('tracksIdRepostPost', 'id', id) - const localVarPath = `/tracks/{id}/repost` - .replace(`{${"id"}}`, encodeURIComponent(String(id))); - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - // authentication BearerAuth required - await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration) - - localVarHeaderParameter['Accept'] = 'application/json'; - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - /** - * Generate a tokenized share link for a track with given permission level and optional expiry. - * @summary Create share link - * @param {string} id Track UUID - * @param {InternalCoreTrackCreateShareRequest} request Share parameters - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - tracksIdSharePost: async (id: string, request: InternalCoreTrackCreateShareRequest, options: RawAxiosRequestConfig = {}): Promise => { - // verify required parameter 'id' is not null or undefined - assertParamExists('tracksIdSharePost', 'id', id) - // verify required parameter 'request' is not null or undefined - assertParamExists('tracksIdSharePost', 'request', request) - const localVarPath = `/tracks/{id}/share` - .replace(`{${"id"}}`, encodeURIComponent(String(id))); - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - // authentication BearerAuth required - await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration) - - localVarHeaderParameter['Content-Type'] = 'application/json'; - localVarHeaderParameter['Accept'] = 'application/json'; - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - localVarRequestOptions.data = serializeDataIfNeeded(request, localVarRequestOptions, configuration) - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - /** - * Aggregated track stats: views, likes, comments, play time, downloads, average duration. - * @summary Get track statistics - * @param {string} id Track UUID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - tracksIdStatsGet: async (id: string, options: RawAxiosRequestConfig = {}): Promise => { - // verify required parameter 'id' is not null or undefined - assertParamExists('tracksIdStatsGet', 'id', id) - const localVarPath = `/tracks/{id}/stats` - .replace(`{${"id"}}`, encodeURIComponent(String(id))); - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - localVarHeaderParameter['Accept'] = 'application/json'; - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - /** - * Get the processing status of an uploaded track - * @summary Get Upload Status - * @param {string} id Track ID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - tracksIdStatusGet: async (id: string, options: RawAxiosRequestConfig = {}): Promise => { - // verify required parameter 'id' is not null or undefined - assertParamExists('tracksIdStatusGet', 'id', id) - const localVarPath = `/tracks/{id}/status` - .replace(`{${"id"}}`, encodeURIComponent(String(id))); - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - // authentication BearerAuth required - await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration) - - localVarHeaderParameter['Accept'] = 'application/json'; - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - /** - * Default playback path. S3-backed tracks return a 302 redirect to a signed URL (TTL 15min). Local-backed tracks are streamed via http.ServeContent with Range support. Always available, unlike /hls/_* which is gated by HLSEnabled. - * @summary Stream a track (raw audio + Range) - * @param {string} id Track UUID - * @param {string} [shareToken] Grants access without authentication - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - tracksIdStreamGet: async (id: string, shareToken?: string, options: RawAxiosRequestConfig = {}): Promise => { - // verify required parameter 'id' is not null or undefined - assertParamExists('tracksIdStreamGet', 'id', id) - const localVarPath = `/tracks/{id}/stream` - .replace(`{${"id"}}`, encodeURIComponent(String(id))); - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - if (shareToken !== undefined) { - localVarQueryParameter['share_token'] = shareToken; - } - - localVarHeaderParameter['Accept'] = 'audio/*'; - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - /** - * Rollback a track to a previous version. Only the track owner can restore. - * @summary Restore track version - * @param {string} id Track UUID - * @param {string} versionId Version UUID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - tracksIdVersionsVersionIdRestorePost: async (id: string, versionId: string, options: RawAxiosRequestConfig = {}): Promise => { - // verify required parameter 'id' is not null or undefined - assertParamExists('tracksIdVersionsVersionIdRestorePost', 'id', id) - // verify required parameter 'versionId' is not null or undefined - assertParamExists('tracksIdVersionsVersionIdRestorePost', 'versionId', versionId) - const localVarPath = `/tracks/{id}/versions/{versionId}/restore` - .replace(`{${"id"}}`, encodeURIComponent(String(id))) - .replace(`{${"versionId"}}`, encodeURIComponent(String(versionId))); - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - // authentication BearerAuth required - await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration) - - localVarHeaderParameter['Accept'] = 'application/json'; - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - /** - * Returns a JSON peaks array used by the client to draw the audio waveform preview. 404 if waveform extraction is not complete yet. - * @summary Get track waveform - * @param {string} id Track UUID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - tracksIdWaveformGet: async (id: string, options: RawAxiosRequestConfig = {}): Promise => { - // verify required parameter 'id' is not null or undefined - assertParamExists('tracksIdWaveformGet', 'id', id) - const localVarPath = `/tracks/{id}/waveform` - .replace(`{${"id"}}`, encodeURIComponent(String(id))); - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - localVarHeaderParameter['Accept'] = 'application/json'; - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - /** - * Start a new chunked upload session - * @summary Initiate Chunked Upload - * @param {InternalCoreTrackInitiateChunkedUploadRequest} request Upload Metadata - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - tracksInitiatePost: async (request: InternalCoreTrackInitiateChunkedUploadRequest, options: RawAxiosRequestConfig = {}): Promise => { - // verify required parameter 'request' is not null or undefined - assertParamExists('tracksInitiatePost', 'request', request) - const localVarPath = `/tracks/initiate`; - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - // authentication BearerAuth required - await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration) - - localVarHeaderParameter['Content-Type'] = 'application/json'; - localVarHeaderParameter['Accept'] = 'application/json'; - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - localVarRequestOptions.data = serializeDataIfNeeded(request, localVarRequestOptions, configuration) - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - /** - * Upload a new track (audio file) - * @summary Upload Track - * @param {File} file Audio File (MP3, WAV, FLAC, OGG) - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - tracksPost: async (file: File, options: RawAxiosRequestConfig = {}): Promise => { - // verify required parameter 'file' is not null or undefined - assertParamExists('tracksPost', 'file', file) - const localVarPath = `/tracks`; - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - const localVarFormParams = new ((configuration && configuration.formDataCtor) || FormData)(); - - // authentication BearerAuth required - await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration) - - - if (file !== undefined) { - localVarFormParams.append('file', file as any); - } - localVarHeaderParameter['Content-Type'] = 'multipart/form-data'; - localVarHeaderParameter['Accept'] = 'application/json'; - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - localVarRequestOptions.data = localVarFormParams; - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - /** - * Get remaining upload quota for the user - * @summary Get Upload Quota - * @param {string} id User ID or \'me\' for current user - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - tracksQuotaIdGet: async (id: string, options: RawAxiosRequestConfig = {}): Promise => { - // verify required parameter 'id' is not null or undefined - assertParamExists('tracksQuotaIdGet', 'id', id) - const localVarPath = `/tracks/quota/{id}` - .replace(`{${"id"}}`, encodeURIComponent(String(id))); - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - // authentication BearerAuth required - await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration) - - localVarHeaderParameter['Accept'] = 'application/json'; - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - /** - * Personalized tracks for D2 autoplay. If seed_track_id is given, returns tracks similar to that seed. Otherwise, uses the caller\'s history (chronological, no behavioural ranking — CLAUDE.md rule 7). - * @summary Get track recommendations - * @param {number} [limit] Max items (max 100) - * @param {string} [seedTrackId] Start from this track\'s similarity neighbours - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - tracksRecommendationsGet: async (limit?: number, seedTrackId?: string, options: RawAxiosRequestConfig = {}): Promise => { - const localVarPath = `/tracks/recommendations`; - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - // authentication BearerAuth required - await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration) - - if (limit !== undefined) { - localVarQueryParameter['limit'] = limit; - } - - if (seedTrackId !== undefined) { - localVarQueryParameter['seed_track_id'] = seedTrackId; - } - - localVarHeaderParameter['Accept'] = 'application/json'; - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - /** - * Get state of an interrupted upload - * @summary Resume Upload - * @param {string} uploadId Upload ID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - tracksResumeUploadIdGet: async (uploadId: string, options: RawAxiosRequestConfig = {}): Promise => { - // verify required parameter 'uploadId' is not null or undefined - assertParamExists('tracksResumeUploadIdGet', 'uploadId', uploadId) - const localVarPath = `/tracks/resume/{uploadId}` - .replace(`{${"uploadId"}}`, encodeURIComponent(String(uploadId))); - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - // authentication BearerAuth required - await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration) - - localVarHeaderParameter['Accept'] = 'application/json'; - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - /** - * Full-text + faceted search on tracks (genre, BPM, duration, tags, musical key, dates). Sort-by and order configurable. - * @summary Advanced track search - * @param {string} [q] Full-text query (title/artist/album) - * @param {string} [tags] Comma-separated tag list - * @param {string} [tagMode] Tag combinator (OR / AND) - * @param {number} [minDuration] Minimum duration (seconds) - * @param {number} [maxDuration] Maximum duration (seconds) - * @param {number} [minBpm] Minimum BPM - * @param {number} [maxBpm] Maximum BPM - * @param {string} [genre] Genre filter - * @param {string} [format] Audio format filter - * @param {string} [musicalKey] Musical key filter - * @param {string} [minDate] Created-after (RFC3339) - * @param {string} [maxDate] Created-before (RFC3339) - * @param {number} [page] Page (1-based) - * @param {number} [limit] Items per page (max 100) - * @param {string} [sortBy] Sort column - * @param {string} [sortOrder] asc / desc - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - tracksSearchGet: async (q?: string, tags?: string, tagMode?: string, minDuration?: number, maxDuration?: number, minBpm?: number, maxBpm?: number, genre?: string, format?: string, musicalKey?: string, minDate?: string, maxDate?: string, page?: number, limit?: number, sortBy?: string, sortOrder?: string, options: RawAxiosRequestConfig = {}): Promise => { - const localVarPath = `/tracks/search`; - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - if (q !== undefined) { - localVarQueryParameter['q'] = q; - } - - if (tags !== undefined) { - localVarQueryParameter['tags'] = tags; - } - - if (tagMode !== undefined) { - localVarQueryParameter['tag_mode'] = tagMode; - } - - if (minDuration !== undefined) { - localVarQueryParameter['min_duration'] = minDuration; - } - - if (maxDuration !== undefined) { - localVarQueryParameter['max_duration'] = maxDuration; - } - - if (minBpm !== undefined) { - localVarQueryParameter['min_bpm'] = minBpm; - } - - if (maxBpm !== undefined) { - localVarQueryParameter['max_bpm'] = maxBpm; - } - - if (genre !== undefined) { - localVarQueryParameter['genre'] = genre; - } - - if (format !== undefined) { - localVarQueryParameter['format'] = format; - } - - if (musicalKey !== undefined) { - localVarQueryParameter['musical_key'] = musicalKey; - } - - if (minDate !== undefined) { - localVarQueryParameter['min_date'] = minDate; - } - - if (maxDate !== undefined) { - localVarQueryParameter['max_date'] = maxDate; - } - - if (page !== undefined) { - localVarQueryParameter['page'] = page; - } - - if (limit !== undefined) { - localVarQueryParameter['limit'] = limit; - } - - if (sortBy !== undefined) { - localVarQueryParameter['sort_by'] = sortBy; - } - - if (sortOrder !== undefined) { - localVarQueryParameter['sort_order'] = sortOrder; - } - - localVarHeaderParameter['Accept'] = 'application/json'; - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - /** - * Permanently disable a share token. Only the share issuer (or admin) can revoke. - * @summary Revoke share link - * @param {string} id Share UUID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - tracksShareIdDelete: async (id: string, options: RawAxiosRequestConfig = {}): Promise => { - // verify required parameter 'id' is not null or undefined - assertParamExists('tracksShareIdDelete', 'id', id) - const localVarPath = `/tracks/share/{id}` - .replace(`{${"id"}}`, encodeURIComponent(String(id))); - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'DELETE', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - // authentication BearerAuth required - await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration) - - localVarHeaderParameter['Accept'] = 'application/json'; - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - /** - * Public endpoint that resolves a share token and returns the track + share metadata. No auth required; the token IS the auth. - * @summary Get track by share token - * @param {string} token Opaque share token issued by CreateShare - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - tracksSharedTokenGet: async (token: string, options: RawAxiosRequestConfig = {}): Promise => { - // verify required parameter 'token' is not null or undefined - assertParamExists('tracksSharedTokenGet', 'token', token) - const localVarPath = `/tracks/shared/{token}` - .replace(`{${"token"}}`, encodeURIComponent(String(token))); - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - localVarHeaderParameter['Accept'] = 'application/json'; - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - /** - * Returns a static tag suggestion list for a genre — useful for upload autocomplete and filter chips. - * @summary Get suggested tags - * @param {string} [genre] Genre slug (pop, rock, electronic, hip-hop, jazz, classical, ambient, default) - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - tracksSuggestedTagsGet: async (genre?: string, options: RawAxiosRequestConfig = {}): Promise => { - const localVarPath = `/tracks/suggested-tags`; - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - if (genre !== undefined) { - localVarQueryParameter['genre'] = genre; - } - - localVarHeaderParameter['Accept'] = 'application/json'; - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - } -}; - -/** - * TrackApi - functional programming interface - */ -export const TrackApiFp = function(configuration?: Configuration) { - const localVarAxiosParamCreator = TrackApiAxiosParamCreator(configuration) - return { - /** - * Internal endpoint called by the Rust stream server when HLS transcoding completes or fails. Updates the track\'s stream_status and stream_manifest_url. Requires internal API key (not user-facing). - * @summary Stream server callback - * @param {string} id Track UUID - * @param {InternalCoreTrackStreamCallbackRequest} request Callback payload - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async internalTracksIdStreamReadyPost(id: string, request: InternalCoreTrackStreamCallbackRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.internalTracksIdStreamReadyPost(id, request, options); - const localVarOperationServerIndex = configuration?.serverIndex ?? 0; - const localVarOperationServerBasePath = operationServerMap['TrackApi.internalTracksIdStreamReadyPost']?.[localVarOperationServerIndex]?.url; - return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); - }, - /** - * Soft-delete up to N tracks in one request. Per-track ownership checked (admin can delete others). - * @summary Batch delete tracks - * @param {InternalCoreTrackBatchDeleteRequest} request List of track UUIDs - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async tracksBatchDeletePost(request: InternalCoreTrackBatchDeleteRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.tracksBatchDeletePost(request, options); - const localVarOperationServerIndex = configuration?.serverIndex ?? 0; - const localVarOperationServerBasePath = operationServerMap['TrackApi.tracksBatchDeletePost']?.[localVarOperationServerIndex]?.url; - return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); - }, - /** - * Apply a partial metadata update to up to N tracks in one request. Per-track ownership checked. - * @summary Batch update tracks - * @param {InternalCoreTrackBatchUpdateRequest} request Track UUIDs + shared updates map - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async tracksBatchUpdatePost(request: InternalCoreTrackBatchUpdateRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.tracksBatchUpdatePost(request, options); - const localVarOperationServerIndex = configuration?.serverIndex ?? 0; - const localVarOperationServerBasePath = operationServerMap['TrackApi.tracksBatchUpdatePost']?.[localVarOperationServerIndex]?.url; - return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); - }, - /** - * Upload a single chunk of a file - * @summary Upload Chunk - * @param {File} chunk Chunk Data - * @param {string} uploadId Upload ID - * @param {number} chunkNumber Chunk Number - * @param {number} totalChunks Total Chunks - * @param {number} totalSize Total Size - * @param {string} filename Filename - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async tracksChunkPost(chunk: File, uploadId: string, chunkNumber: number, totalChunks: number, totalSize: number, filename: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.tracksChunkPost(chunk, uploadId, chunkNumber, totalChunks, totalSize, filename, options); - const localVarOperationServerIndex = configuration?.serverIndex ?? 0; - const localVarOperationServerBasePath = operationServerMap['TrackApi.tracksChunkPost']?.[localVarOperationServerIndex]?.url; - return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); - }, - /** - * Finish upload session and assemble file - * @summary Complete Chunked Upload - * @param {InternalCoreTrackCompleteChunkedUploadRequest} request Upload ID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async tracksCompletePost(request: InternalCoreTrackCompleteChunkedUploadRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.tracksCompletePost(request, options); - const localVarOperationServerIndex = configuration?.serverIndex ?? 0; - const localVarOperationServerBasePath = operationServerMap['TrackApi.tracksCompletePost']?.[localVarOperationServerIndex]?.url; - return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); - }, - /** - * List tracks with pagination, filters, sort. Cursor-based when ?cursor provided, otherwise page/limit offset. - * @summary List tracks - * @param {string} [cursor] Opaque pagination cursor (overrides page) - * @param {number} [page] Page number, 1-based (ignored if cursor set) - * @param {number} [limit] Items per page (max 100) - * @param {string} [userId] Filter by creator UUID - * @param {string} [genre] Filter by genre - * @param {string} [format] Filter by audio format (mp3, flac, wav, ogg, m4a, aac) - * @param {string} [sortBy] Sort column (created_at, play_count, title) - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async tracksGet(cursor?: string, page?: number, limit?: number, userId?: string, genre?: string, format?: string, sortBy?: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.tracksGet(cursor, page, limit, userId, genre, format, sortBy, options); - const localVarOperationServerIndex = configuration?.serverIndex ?? 0; - const localVarOperationServerBasePath = operationServerMap['TrackApi.tracksGet']?.[localVarOperationServerIndex]?.url; - return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); - }, - /** - * Soft-delete a track (sets deleted_at). Caller must own the track or be admin. - * @summary Delete track - * @param {string} id Track UUID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async tracksIdDelete(id: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.tracksIdDelete(id, options); - const localVarOperationServerIndex = configuration?.serverIndex ?? 0; - const localVarOperationServerBasePath = operationServerMap['TrackApi.tracksIdDelete']?.[localVarOperationServerIndex]?.url; - return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); - }, - /** - * Serve the original audio file. For S3-backed tracks returns a 302 redirect to a signed URL (TTL 30min). For local-backed tracks streams the file with Range support. Public tracks or share_token access; paid tracks require a license. - * @summary Download a track - * @param {string} id Track UUID - * @param {string} [shareToken] Grants access without authentication for a limited time - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async tracksIdDownloadGet(id: string, shareToken?: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.tracksIdDownloadGet(id, shareToken, options); - const localVarOperationServerIndex = configuration?.serverIndex ?? 0; - const localVarOperationServerBasePath = operationServerMap['TrackApi.tracksIdDownloadGet']?.[localVarOperationServerIndex]?.url; - return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); - }, - /** - * Retrieve a single track. Private play_count / like_count are omitted for non-owners (v0.10.3 F202). - * @summary Get track by ID - * @param {string} id Track UUID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async tracksIdGet(id: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.tracksIdGet(id, options); - const localVarOperationServerIndex = configuration?.serverIndex ?? 0; - const localVarOperationServerBasePath = operationServerMap['TrackApi.tracksIdGet']?.[localVarOperationServerIndex]?.url; - return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); - }, - /** - * Paginated audit log of modifications (metadata updates, version changes) for a track. - * @summary Get track history - * @param {string} id Track UUID - * @param {number} [limit] Items per page - * @param {number} [offset] Offset - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async tracksIdHistoryGet(id: string, limit?: number, offset?: number, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.tracksIdHistoryGet(id, limit, offset, options); - const localVarOperationServerIndex = configuration?.serverIndex ?? 0; - const localVarOperationServerBasePath = operationServerMap['TrackApi.tracksIdHistoryGet']?.[localVarOperationServerIndex]?.url; - return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); - }, - /** - * Remove the authenticated user\'s like on the track (idempotent). - * @summary Unlike a track - * @param {string} id Track UUID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async tracksIdLikeDelete(id: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.tracksIdLikeDelete(id, options); - const localVarOperationServerIndex = configuration?.serverIndex ?? 0; - const localVarOperationServerBasePath = operationServerMap['TrackApi.tracksIdLikeDelete']?.[localVarOperationServerIndex]?.url; - return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); - }, - /** - * Record a like from the authenticated user. Creates a grouped notification for the creator (F554). - * @summary Like a track - * @param {string} id Track UUID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async tracksIdLikePost(id: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.tracksIdLikePost(id, options); - const localVarOperationServerIndex = configuration?.serverIndex ?? 0; - const localVarOperationServerBasePath = operationServerMap['TrackApi.tracksIdLikePost']?.[localVarOperationServerIndex]?.url; - return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); - }, - /** - * Returns whether the current user has liked the track. The total like count is returned ONLY to the creator or an admin (privacy per ORIGIN_UI_UX_SYSTEM §13). - * @summary Get track like status - * @param {string} id Track UUID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async tracksIdLikesGet(id: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.tracksIdLikesGet(id, options); - const localVarOperationServerIndex = configuration?.serverIndex ?? 0; - const localVarOperationServerBasePath = operationServerMap['TrackApi.tracksIdLikesGet']?.[localVarOperationServerIndex]?.url; - return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); - }, - /** - * Returns the current lyrics for a track, or null if no lyrics exist. - * @summary Get track lyrics - * @param {string} id Track UUID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async tracksIdLyricsGet(id: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.tracksIdLyricsGet(id, options); - const localVarOperationServerIndex = configuration?.serverIndex ?? 0; - const localVarOperationServerBasePath = operationServerMap['TrackApi.tracksIdLyricsGet']?.[localVarOperationServerIndex]?.url; - return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); - }, - /** - * Replace the lyrics of a track. Caller must own the track or be admin. - * @summary Create or update track lyrics - * @param {string} id Track UUID - * @param {InternalCoreTrackUpdateLyricsRequest} request Lyrics payload - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async tracksIdLyricsPut(id: string, request: InternalCoreTrackUpdateLyricsRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.tracksIdLyricsPut(id, request, options); - const localVarOperationServerIndex = configuration?.serverIndex ?? 0; - const localVarOperationServerBasePath = operationServerMap['TrackApi.tracksIdLyricsPut']?.[localVarOperationServerIndex]?.url; - return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); - }, - /** - * Persist a playback event with optional play_time so the creator\'s analytics dashboard tracks listening behaviour. - * @summary Record play event - * @param {string} id Track UUID - * @param {InternalCoreTrackRecordPlayRequest} [request] Playback metadata (optional) - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async tracksIdPlayPost(id: string, request?: InternalCoreTrackRecordPlayRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.tracksIdPlayPost(id, request, options); - const localVarOperationServerIndex = configuration?.serverIndex ?? 0; - const localVarOperationServerBasePath = operationServerMap['TrackApi.tracksIdPlayPost']?.[localVarOperationServerIndex]?.url; - return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); - }, - /** - * Update the metadata of an existing track. Caller must own the track or be admin. - * @summary Update track metadata - * @param {string} id Track UUID - * @param {InternalCoreTrackUpdateTrackRequest} request Updated metadata - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async tracksIdPut(id: string, request: InternalCoreTrackUpdateTrackRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.tracksIdPut(id, request, options); - const localVarOperationServerIndex = configuration?.serverIndex ?? 0; - const localVarOperationServerBasePath = operationServerMap['TrackApi.tracksIdPut']?.[localVarOperationServerIndex]?.url; - return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); - }, - /** - * Remove the authenticated user\'s repost of the track (idempotent). - * @summary Remove track repost - * @param {string} id Track UUID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async tracksIdRepostDelete(id: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.tracksIdRepostDelete(id, options); - const localVarOperationServerIndex = configuration?.serverIndex ?? 0; - const localVarOperationServerBasePath = operationServerMap['TrackApi.tracksIdRepostDelete']?.[localVarOperationServerIndex]?.url; - return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); - }, - /** - * Returns whether the current user has reposted the track. Public (optional auth); unauthenticated callers get is_reposted=false. - * @summary Get repost status - * @param {string} id Track UUID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async tracksIdRepostGet(id: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.tracksIdRepostGet(id, options); - const localVarOperationServerIndex = configuration?.serverIndex ?? 0; - const localVarOperationServerBasePath = operationServerMap['TrackApi.tracksIdRepostGet']?.[localVarOperationServerIndex]?.url; - return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); - }, - /** - * Add a track to the authenticated user\'s profile as a repost. Notifies the creator (F204) unless self-repost. - * @summary Repost a track - * @param {string} id Track UUID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async tracksIdRepostPost(id: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.tracksIdRepostPost(id, options); - const localVarOperationServerIndex = configuration?.serverIndex ?? 0; - const localVarOperationServerBasePath = operationServerMap['TrackApi.tracksIdRepostPost']?.[localVarOperationServerIndex]?.url; - return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); - }, - /** - * Generate a tokenized share link for a track with given permission level and optional expiry. - * @summary Create share link - * @param {string} id Track UUID - * @param {InternalCoreTrackCreateShareRequest} request Share parameters - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async tracksIdSharePost(id: string, request: InternalCoreTrackCreateShareRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.tracksIdSharePost(id, request, options); - const localVarOperationServerIndex = configuration?.serverIndex ?? 0; - const localVarOperationServerBasePath = operationServerMap['TrackApi.tracksIdSharePost']?.[localVarOperationServerIndex]?.url; - return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); - }, - /** - * Aggregated track stats: views, likes, comments, play time, downloads, average duration. - * @summary Get track statistics - * @param {string} id Track UUID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async tracksIdStatsGet(id: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.tracksIdStatsGet(id, options); - const localVarOperationServerIndex = configuration?.serverIndex ?? 0; - const localVarOperationServerBasePath = operationServerMap['TrackApi.tracksIdStatsGet']?.[localVarOperationServerIndex]?.url; - return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); - }, - /** - * Get the processing status of an uploaded track - * @summary Get Upload Status - * @param {string} id Track ID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async tracksIdStatusGet(id: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.tracksIdStatusGet(id, options); - const localVarOperationServerIndex = configuration?.serverIndex ?? 0; - const localVarOperationServerBasePath = operationServerMap['TrackApi.tracksIdStatusGet']?.[localVarOperationServerIndex]?.url; - return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); - }, - /** - * Default playback path. S3-backed tracks return a 302 redirect to a signed URL (TTL 15min). Local-backed tracks are streamed via http.ServeContent with Range support. Always available, unlike /hls/_* which is gated by HLSEnabled. - * @summary Stream a track (raw audio + Range) - * @param {string} id Track UUID - * @param {string} [shareToken] Grants access without authentication - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async tracksIdStreamGet(id: string, shareToken?: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.tracksIdStreamGet(id, shareToken, options); - const localVarOperationServerIndex = configuration?.serverIndex ?? 0; - const localVarOperationServerBasePath = operationServerMap['TrackApi.tracksIdStreamGet']?.[localVarOperationServerIndex]?.url; - return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); - }, - /** - * Rollback a track to a previous version. Only the track owner can restore. - * @summary Restore track version - * @param {string} id Track UUID - * @param {string} versionId Version UUID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async tracksIdVersionsVersionIdRestorePost(id: string, versionId: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.tracksIdVersionsVersionIdRestorePost(id, versionId, options); - const localVarOperationServerIndex = configuration?.serverIndex ?? 0; - const localVarOperationServerBasePath = operationServerMap['TrackApi.tracksIdVersionsVersionIdRestorePost']?.[localVarOperationServerIndex]?.url; - return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); - }, - /** - * Returns a JSON peaks array used by the client to draw the audio waveform preview. 404 if waveform extraction is not complete yet. - * @summary Get track waveform - * @param {string} id Track UUID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async tracksIdWaveformGet(id: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.tracksIdWaveformGet(id, options); - const localVarOperationServerIndex = configuration?.serverIndex ?? 0; - const localVarOperationServerBasePath = operationServerMap['TrackApi.tracksIdWaveformGet']?.[localVarOperationServerIndex]?.url; - return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); - }, - /** - * Start a new chunked upload session - * @summary Initiate Chunked Upload - * @param {InternalCoreTrackInitiateChunkedUploadRequest} request Upload Metadata - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async tracksInitiatePost(request: InternalCoreTrackInitiateChunkedUploadRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.tracksInitiatePost(request, options); - const localVarOperationServerIndex = configuration?.serverIndex ?? 0; - const localVarOperationServerBasePath = operationServerMap['TrackApi.tracksInitiatePost']?.[localVarOperationServerIndex]?.url; - return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); - }, - /** - * Upload a new track (audio file) - * @summary Upload Track - * @param {File} file Audio File (MP3, WAV, FLAC, OGG) - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async tracksPost(file: File, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.tracksPost(file, options); - const localVarOperationServerIndex = configuration?.serverIndex ?? 0; - const localVarOperationServerBasePath = operationServerMap['TrackApi.tracksPost']?.[localVarOperationServerIndex]?.url; - return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); - }, - /** - * Get remaining upload quota for the user - * @summary Get Upload Quota - * @param {string} id User ID or \'me\' for current user - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async tracksQuotaIdGet(id: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.tracksQuotaIdGet(id, options); - const localVarOperationServerIndex = configuration?.serverIndex ?? 0; - const localVarOperationServerBasePath = operationServerMap['TrackApi.tracksQuotaIdGet']?.[localVarOperationServerIndex]?.url; - return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); - }, - /** - * Personalized tracks for D2 autoplay. If seed_track_id is given, returns tracks similar to that seed. Otherwise, uses the caller\'s history (chronological, no behavioural ranking — CLAUDE.md rule 7). - * @summary Get track recommendations - * @param {number} [limit] Max items (max 100) - * @param {string} [seedTrackId] Start from this track\'s similarity neighbours - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async tracksRecommendationsGet(limit?: number, seedTrackId?: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.tracksRecommendationsGet(limit, seedTrackId, options); - const localVarOperationServerIndex = configuration?.serverIndex ?? 0; - const localVarOperationServerBasePath = operationServerMap['TrackApi.tracksRecommendationsGet']?.[localVarOperationServerIndex]?.url; - return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); - }, - /** - * Get state of an interrupted upload - * @summary Resume Upload - * @param {string} uploadId Upload ID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async tracksResumeUploadIdGet(uploadId: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.tracksResumeUploadIdGet(uploadId, options); - const localVarOperationServerIndex = configuration?.serverIndex ?? 0; - const localVarOperationServerBasePath = operationServerMap['TrackApi.tracksResumeUploadIdGet']?.[localVarOperationServerIndex]?.url; - return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); - }, - /** - * Full-text + faceted search on tracks (genre, BPM, duration, tags, musical key, dates). Sort-by and order configurable. - * @summary Advanced track search - * @param {string} [q] Full-text query (title/artist/album) - * @param {string} [tags] Comma-separated tag list - * @param {string} [tagMode] Tag combinator (OR / AND) - * @param {number} [minDuration] Minimum duration (seconds) - * @param {number} [maxDuration] Maximum duration (seconds) - * @param {number} [minBpm] Minimum BPM - * @param {number} [maxBpm] Maximum BPM - * @param {string} [genre] Genre filter - * @param {string} [format] Audio format filter - * @param {string} [musicalKey] Musical key filter - * @param {string} [minDate] Created-after (RFC3339) - * @param {string} [maxDate] Created-before (RFC3339) - * @param {number} [page] Page (1-based) - * @param {number} [limit] Items per page (max 100) - * @param {string} [sortBy] Sort column - * @param {string} [sortOrder] asc / desc - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async tracksSearchGet(q?: string, tags?: string, tagMode?: string, minDuration?: number, maxDuration?: number, minBpm?: number, maxBpm?: number, genre?: string, format?: string, musicalKey?: string, minDate?: string, maxDate?: string, page?: number, limit?: number, sortBy?: string, sortOrder?: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.tracksSearchGet(q, tags, tagMode, minDuration, maxDuration, minBpm, maxBpm, genre, format, musicalKey, minDate, maxDate, page, limit, sortBy, sortOrder, options); - const localVarOperationServerIndex = configuration?.serverIndex ?? 0; - const localVarOperationServerBasePath = operationServerMap['TrackApi.tracksSearchGet']?.[localVarOperationServerIndex]?.url; - return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); - }, - /** - * Permanently disable a share token. Only the share issuer (or admin) can revoke. - * @summary Revoke share link - * @param {string} id Share UUID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async tracksShareIdDelete(id: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.tracksShareIdDelete(id, options); - const localVarOperationServerIndex = configuration?.serverIndex ?? 0; - const localVarOperationServerBasePath = operationServerMap['TrackApi.tracksShareIdDelete']?.[localVarOperationServerIndex]?.url; - return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); - }, - /** - * Public endpoint that resolves a share token and returns the track + share metadata. No auth required; the token IS the auth. - * @summary Get track by share token - * @param {string} token Opaque share token issued by CreateShare - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async tracksSharedTokenGet(token: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.tracksSharedTokenGet(token, options); - const localVarOperationServerIndex = configuration?.serverIndex ?? 0; - const localVarOperationServerBasePath = operationServerMap['TrackApi.tracksSharedTokenGet']?.[localVarOperationServerIndex]?.url; - return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); - }, - /** - * Returns a static tag suggestion list for a genre — useful for upload autocomplete and filter chips. - * @summary Get suggested tags - * @param {string} [genre] Genre slug (pop, rock, electronic, hip-hop, jazz, classical, ambient, default) - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async tracksSuggestedTagsGet(genre?: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.tracksSuggestedTagsGet(genre, options); - const localVarOperationServerIndex = configuration?.serverIndex ?? 0; - const localVarOperationServerBasePath = operationServerMap['TrackApi.tracksSuggestedTagsGet']?.[localVarOperationServerIndex]?.url; - return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); - }, - } -}; - -/** - * TrackApi - factory interface - */ -export const TrackApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) { - const localVarFp = TrackApiFp(configuration) - return { - /** - * Internal endpoint called by the Rust stream server when HLS transcoding completes or fails. Updates the track\'s stream_status and stream_manifest_url. Requires internal API key (not user-facing). - * @summary Stream server callback - * @param {string} id Track UUID - * @param {InternalCoreTrackStreamCallbackRequest} request Callback payload - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - internalTracksIdStreamReadyPost(id: string, request: InternalCoreTrackStreamCallbackRequest, options?: RawAxiosRequestConfig): AxiosPromise { - return localVarFp.internalTracksIdStreamReadyPost(id, request, options).then((request) => request(axios, basePath)); - }, - /** - * Soft-delete up to N tracks in one request. Per-track ownership checked (admin can delete others). - * @summary Batch delete tracks - * @param {InternalCoreTrackBatchDeleteRequest} request List of track UUIDs - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - tracksBatchDeletePost(request: InternalCoreTrackBatchDeleteRequest, options?: RawAxiosRequestConfig): AxiosPromise { - return localVarFp.tracksBatchDeletePost(request, options).then((request) => request(axios, basePath)); - }, - /** - * Apply a partial metadata update to up to N tracks in one request. Per-track ownership checked. - * @summary Batch update tracks - * @param {InternalCoreTrackBatchUpdateRequest} request Track UUIDs + shared updates map - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - tracksBatchUpdatePost(request: InternalCoreTrackBatchUpdateRequest, options?: RawAxiosRequestConfig): AxiosPromise { - return localVarFp.tracksBatchUpdatePost(request, options).then((request) => request(axios, basePath)); - }, - /** - * Upload a single chunk of a file - * @summary Upload Chunk - * @param {File} chunk Chunk Data - * @param {string} uploadId Upload ID - * @param {number} chunkNumber Chunk Number - * @param {number} totalChunks Total Chunks - * @param {number} totalSize Total Size - * @param {string} filename Filename - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - tracksChunkPost(chunk: File, uploadId: string, chunkNumber: number, totalChunks: number, totalSize: number, filename: string, options?: RawAxiosRequestConfig): AxiosPromise { - return localVarFp.tracksChunkPost(chunk, uploadId, chunkNumber, totalChunks, totalSize, filename, options).then((request) => request(axios, basePath)); - }, - /** - * Finish upload session and assemble file - * @summary Complete Chunked Upload - * @param {InternalCoreTrackCompleteChunkedUploadRequest} request Upload ID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - tracksCompletePost(request: InternalCoreTrackCompleteChunkedUploadRequest, options?: RawAxiosRequestConfig): AxiosPromise { - return localVarFp.tracksCompletePost(request, options).then((request) => request(axios, basePath)); - }, - /** - * List tracks with pagination, filters, sort. Cursor-based when ?cursor provided, otherwise page/limit offset. - * @summary List tracks - * @param {string} [cursor] Opaque pagination cursor (overrides page) - * @param {number} [page] Page number, 1-based (ignored if cursor set) - * @param {number} [limit] Items per page (max 100) - * @param {string} [userId] Filter by creator UUID - * @param {string} [genre] Filter by genre - * @param {string} [format] Filter by audio format (mp3, flac, wav, ogg, m4a, aac) - * @param {string} [sortBy] Sort column (created_at, play_count, title) - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - tracksGet(cursor?: string, page?: number, limit?: number, userId?: string, genre?: string, format?: string, sortBy?: string, options?: RawAxiosRequestConfig): AxiosPromise { - return localVarFp.tracksGet(cursor, page, limit, userId, genre, format, sortBy, options).then((request) => request(axios, basePath)); - }, - /** - * Soft-delete a track (sets deleted_at). Caller must own the track or be admin. - * @summary Delete track - * @param {string} id Track UUID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - tracksIdDelete(id: string, options?: RawAxiosRequestConfig): AxiosPromise { - return localVarFp.tracksIdDelete(id, options).then((request) => request(axios, basePath)); - }, - /** - * Serve the original audio file. For S3-backed tracks returns a 302 redirect to a signed URL (TTL 30min). For local-backed tracks streams the file with Range support. Public tracks or share_token access; paid tracks require a license. - * @summary Download a track - * @param {string} id Track UUID - * @param {string} [shareToken] Grants access without authentication for a limited time - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - tracksIdDownloadGet(id: string, shareToken?: string, options?: RawAxiosRequestConfig): AxiosPromise { - return localVarFp.tracksIdDownloadGet(id, shareToken, options).then((request) => request(axios, basePath)); - }, - /** - * Retrieve a single track. Private play_count / like_count are omitted for non-owners (v0.10.3 F202). - * @summary Get track by ID - * @param {string} id Track UUID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - tracksIdGet(id: string, options?: RawAxiosRequestConfig): AxiosPromise { - return localVarFp.tracksIdGet(id, options).then((request) => request(axios, basePath)); - }, - /** - * Paginated audit log of modifications (metadata updates, version changes) for a track. - * @summary Get track history - * @param {string} id Track UUID - * @param {number} [limit] Items per page - * @param {number} [offset] Offset - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - tracksIdHistoryGet(id: string, limit?: number, offset?: number, options?: RawAxiosRequestConfig): AxiosPromise { - return localVarFp.tracksIdHistoryGet(id, limit, offset, options).then((request) => request(axios, basePath)); - }, - /** - * Remove the authenticated user\'s like on the track (idempotent). - * @summary Unlike a track - * @param {string} id Track UUID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - tracksIdLikeDelete(id: string, options?: RawAxiosRequestConfig): AxiosPromise { - return localVarFp.tracksIdLikeDelete(id, options).then((request) => request(axios, basePath)); - }, - /** - * Record a like from the authenticated user. Creates a grouped notification for the creator (F554). - * @summary Like a track - * @param {string} id Track UUID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - tracksIdLikePost(id: string, options?: RawAxiosRequestConfig): AxiosPromise { - return localVarFp.tracksIdLikePost(id, options).then((request) => request(axios, basePath)); - }, - /** - * Returns whether the current user has liked the track. The total like count is returned ONLY to the creator or an admin (privacy per ORIGIN_UI_UX_SYSTEM §13). - * @summary Get track like status - * @param {string} id Track UUID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - tracksIdLikesGet(id: string, options?: RawAxiosRequestConfig): AxiosPromise { - return localVarFp.tracksIdLikesGet(id, options).then((request) => request(axios, basePath)); - }, - /** - * Returns the current lyrics for a track, or null if no lyrics exist. - * @summary Get track lyrics - * @param {string} id Track UUID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - tracksIdLyricsGet(id: string, options?: RawAxiosRequestConfig): AxiosPromise { - return localVarFp.tracksIdLyricsGet(id, options).then((request) => request(axios, basePath)); - }, - /** - * Replace the lyrics of a track. Caller must own the track or be admin. - * @summary Create or update track lyrics - * @param {string} id Track UUID - * @param {InternalCoreTrackUpdateLyricsRequest} request Lyrics payload - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - tracksIdLyricsPut(id: string, request: InternalCoreTrackUpdateLyricsRequest, options?: RawAxiosRequestConfig): AxiosPromise { - return localVarFp.tracksIdLyricsPut(id, request, options).then((request) => request(axios, basePath)); - }, - /** - * Persist a playback event with optional play_time so the creator\'s analytics dashboard tracks listening behaviour. - * @summary Record play event - * @param {string} id Track UUID - * @param {InternalCoreTrackRecordPlayRequest} [request] Playback metadata (optional) - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - tracksIdPlayPost(id: string, request?: InternalCoreTrackRecordPlayRequest, options?: RawAxiosRequestConfig): AxiosPromise { - return localVarFp.tracksIdPlayPost(id, request, options).then((request) => request(axios, basePath)); - }, - /** - * Update the metadata of an existing track. Caller must own the track or be admin. - * @summary Update track metadata - * @param {string} id Track UUID - * @param {InternalCoreTrackUpdateTrackRequest} request Updated metadata - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - tracksIdPut(id: string, request: InternalCoreTrackUpdateTrackRequest, options?: RawAxiosRequestConfig): AxiosPromise { - return localVarFp.tracksIdPut(id, request, options).then((request) => request(axios, basePath)); - }, - /** - * Remove the authenticated user\'s repost of the track (idempotent). - * @summary Remove track repost - * @param {string} id Track UUID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - tracksIdRepostDelete(id: string, options?: RawAxiosRequestConfig): AxiosPromise { - return localVarFp.tracksIdRepostDelete(id, options).then((request) => request(axios, basePath)); - }, - /** - * Returns whether the current user has reposted the track. Public (optional auth); unauthenticated callers get is_reposted=false. - * @summary Get repost status - * @param {string} id Track UUID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - tracksIdRepostGet(id: string, options?: RawAxiosRequestConfig): AxiosPromise { - return localVarFp.tracksIdRepostGet(id, options).then((request) => request(axios, basePath)); - }, - /** - * Add a track to the authenticated user\'s profile as a repost. Notifies the creator (F204) unless self-repost. - * @summary Repost a track - * @param {string} id Track UUID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - tracksIdRepostPost(id: string, options?: RawAxiosRequestConfig): AxiosPromise { - return localVarFp.tracksIdRepostPost(id, options).then((request) => request(axios, basePath)); - }, - /** - * Generate a tokenized share link for a track with given permission level and optional expiry. - * @summary Create share link - * @param {string} id Track UUID - * @param {InternalCoreTrackCreateShareRequest} request Share parameters - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - tracksIdSharePost(id: string, request: InternalCoreTrackCreateShareRequest, options?: RawAxiosRequestConfig): AxiosPromise { - return localVarFp.tracksIdSharePost(id, request, options).then((request) => request(axios, basePath)); - }, - /** - * Aggregated track stats: views, likes, comments, play time, downloads, average duration. - * @summary Get track statistics - * @param {string} id Track UUID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - tracksIdStatsGet(id: string, options?: RawAxiosRequestConfig): AxiosPromise { - return localVarFp.tracksIdStatsGet(id, options).then((request) => request(axios, basePath)); - }, - /** - * Get the processing status of an uploaded track - * @summary Get Upload Status - * @param {string} id Track ID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - tracksIdStatusGet(id: string, options?: RawAxiosRequestConfig): AxiosPromise { - return localVarFp.tracksIdStatusGet(id, options).then((request) => request(axios, basePath)); - }, - /** - * Default playback path. S3-backed tracks return a 302 redirect to a signed URL (TTL 15min). Local-backed tracks are streamed via http.ServeContent with Range support. Always available, unlike /hls/_* which is gated by HLSEnabled. - * @summary Stream a track (raw audio + Range) - * @param {string} id Track UUID - * @param {string} [shareToken] Grants access without authentication - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - tracksIdStreamGet(id: string, shareToken?: string, options?: RawAxiosRequestConfig): AxiosPromise { - return localVarFp.tracksIdStreamGet(id, shareToken, options).then((request) => request(axios, basePath)); - }, - /** - * Rollback a track to a previous version. Only the track owner can restore. - * @summary Restore track version - * @param {string} id Track UUID - * @param {string} versionId Version UUID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - tracksIdVersionsVersionIdRestorePost(id: string, versionId: string, options?: RawAxiosRequestConfig): AxiosPromise { - return localVarFp.tracksIdVersionsVersionIdRestorePost(id, versionId, options).then((request) => request(axios, basePath)); - }, - /** - * Returns a JSON peaks array used by the client to draw the audio waveform preview. 404 if waveform extraction is not complete yet. - * @summary Get track waveform - * @param {string} id Track UUID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - tracksIdWaveformGet(id: string, options?: RawAxiosRequestConfig): AxiosPromise { - return localVarFp.tracksIdWaveformGet(id, options).then((request) => request(axios, basePath)); - }, - /** - * Start a new chunked upload session - * @summary Initiate Chunked Upload - * @param {InternalCoreTrackInitiateChunkedUploadRequest} request Upload Metadata - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - tracksInitiatePost(request: InternalCoreTrackInitiateChunkedUploadRequest, options?: RawAxiosRequestConfig): AxiosPromise { - return localVarFp.tracksInitiatePost(request, options).then((request) => request(axios, basePath)); - }, - /** - * Upload a new track (audio file) - * @summary Upload Track - * @param {File} file Audio File (MP3, WAV, FLAC, OGG) - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - tracksPost(file: File, options?: RawAxiosRequestConfig): AxiosPromise { - return localVarFp.tracksPost(file, options).then((request) => request(axios, basePath)); - }, - /** - * Get remaining upload quota for the user - * @summary Get Upload Quota - * @param {string} id User ID or \'me\' for current user - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - tracksQuotaIdGet(id: string, options?: RawAxiosRequestConfig): AxiosPromise { - return localVarFp.tracksQuotaIdGet(id, options).then((request) => request(axios, basePath)); - }, - /** - * Personalized tracks for D2 autoplay. If seed_track_id is given, returns tracks similar to that seed. Otherwise, uses the caller\'s history (chronological, no behavioural ranking — CLAUDE.md rule 7). - * @summary Get track recommendations - * @param {number} [limit] Max items (max 100) - * @param {string} [seedTrackId] Start from this track\'s similarity neighbours - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - tracksRecommendationsGet(limit?: number, seedTrackId?: string, options?: RawAxiosRequestConfig): AxiosPromise { - return localVarFp.tracksRecommendationsGet(limit, seedTrackId, options).then((request) => request(axios, basePath)); - }, - /** - * Get state of an interrupted upload - * @summary Resume Upload - * @param {string} uploadId Upload ID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - tracksResumeUploadIdGet(uploadId: string, options?: RawAxiosRequestConfig): AxiosPromise { - return localVarFp.tracksResumeUploadIdGet(uploadId, options).then((request) => request(axios, basePath)); - }, - /** - * Full-text + faceted search on tracks (genre, BPM, duration, tags, musical key, dates). Sort-by and order configurable. - * @summary Advanced track search - * @param {string} [q] Full-text query (title/artist/album) - * @param {string} [tags] Comma-separated tag list - * @param {string} [tagMode] Tag combinator (OR / AND) - * @param {number} [minDuration] Minimum duration (seconds) - * @param {number} [maxDuration] Maximum duration (seconds) - * @param {number} [minBpm] Minimum BPM - * @param {number} [maxBpm] Maximum BPM - * @param {string} [genre] Genre filter - * @param {string} [format] Audio format filter - * @param {string} [musicalKey] Musical key filter - * @param {string} [minDate] Created-after (RFC3339) - * @param {string} [maxDate] Created-before (RFC3339) - * @param {number} [page] Page (1-based) - * @param {number} [limit] Items per page (max 100) - * @param {string} [sortBy] Sort column - * @param {string} [sortOrder] asc / desc - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - tracksSearchGet(q?: string, tags?: string, tagMode?: string, minDuration?: number, maxDuration?: number, minBpm?: number, maxBpm?: number, genre?: string, format?: string, musicalKey?: string, minDate?: string, maxDate?: string, page?: number, limit?: number, sortBy?: string, sortOrder?: string, options?: RawAxiosRequestConfig): AxiosPromise { - return localVarFp.tracksSearchGet(q, tags, tagMode, minDuration, maxDuration, minBpm, maxBpm, genre, format, musicalKey, minDate, maxDate, page, limit, sortBy, sortOrder, options).then((request) => request(axios, basePath)); - }, - /** - * Permanently disable a share token. Only the share issuer (or admin) can revoke. - * @summary Revoke share link - * @param {string} id Share UUID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - tracksShareIdDelete(id: string, options?: RawAxiosRequestConfig): AxiosPromise { - return localVarFp.tracksShareIdDelete(id, options).then((request) => request(axios, basePath)); - }, - /** - * Public endpoint that resolves a share token and returns the track + share metadata. No auth required; the token IS the auth. - * @summary Get track by share token - * @param {string} token Opaque share token issued by CreateShare - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - tracksSharedTokenGet(token: string, options?: RawAxiosRequestConfig): AxiosPromise { - return localVarFp.tracksSharedTokenGet(token, options).then((request) => request(axios, basePath)); - }, - /** - * Returns a static tag suggestion list for a genre — useful for upload autocomplete and filter chips. - * @summary Get suggested tags - * @param {string} [genre] Genre slug (pop, rock, electronic, hip-hop, jazz, classical, ambient, default) - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - tracksSuggestedTagsGet(genre?: string, options?: RawAxiosRequestConfig): AxiosPromise { - return localVarFp.tracksSuggestedTagsGet(genre, options).then((request) => request(axios, basePath)); - }, - }; -}; - -/** - * TrackApi - interface - */ -export interface TrackApiInterface { - /** - * Internal endpoint called by the Rust stream server when HLS transcoding completes or fails. Updates the track\'s stream_status and stream_manifest_url. Requires internal API key (not user-facing). - * @summary Stream server callback - * @param {string} id Track UUID - * @param {InternalCoreTrackStreamCallbackRequest} request Callback payload - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - internalTracksIdStreamReadyPost(id: string, request: InternalCoreTrackStreamCallbackRequest, options?: RawAxiosRequestConfig): AxiosPromise; - - /** - * Soft-delete up to N tracks in one request. Per-track ownership checked (admin can delete others). - * @summary Batch delete tracks - * @param {InternalCoreTrackBatchDeleteRequest} request List of track UUIDs - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - tracksBatchDeletePost(request: InternalCoreTrackBatchDeleteRequest, options?: RawAxiosRequestConfig): AxiosPromise; - - /** - * Apply a partial metadata update to up to N tracks in one request. Per-track ownership checked. - * @summary Batch update tracks - * @param {InternalCoreTrackBatchUpdateRequest} request Track UUIDs + shared updates map - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - tracksBatchUpdatePost(request: InternalCoreTrackBatchUpdateRequest, options?: RawAxiosRequestConfig): AxiosPromise; - - /** - * Upload a single chunk of a file - * @summary Upload Chunk - * @param {File} chunk Chunk Data - * @param {string} uploadId Upload ID - * @param {number} chunkNumber Chunk Number - * @param {number} totalChunks Total Chunks - * @param {number} totalSize Total Size - * @param {string} filename Filename - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - tracksChunkPost(chunk: File, uploadId: string, chunkNumber: number, totalChunks: number, totalSize: number, filename: string, options?: RawAxiosRequestConfig): AxiosPromise; - - /** - * Finish upload session and assemble file - * @summary Complete Chunked Upload - * @param {InternalCoreTrackCompleteChunkedUploadRequest} request Upload ID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - tracksCompletePost(request: InternalCoreTrackCompleteChunkedUploadRequest, options?: RawAxiosRequestConfig): AxiosPromise; - - /** - * List tracks with pagination, filters, sort. Cursor-based when ?cursor provided, otherwise page/limit offset. - * @summary List tracks - * @param {string} [cursor] Opaque pagination cursor (overrides page) - * @param {number} [page] Page number, 1-based (ignored if cursor set) - * @param {number} [limit] Items per page (max 100) - * @param {string} [userId] Filter by creator UUID - * @param {string} [genre] Filter by genre - * @param {string} [format] Filter by audio format (mp3, flac, wav, ogg, m4a, aac) - * @param {string} [sortBy] Sort column (created_at, play_count, title) - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - tracksGet(cursor?: string, page?: number, limit?: number, userId?: string, genre?: string, format?: string, sortBy?: string, options?: RawAxiosRequestConfig): AxiosPromise; - - /** - * Soft-delete a track (sets deleted_at). Caller must own the track or be admin. - * @summary Delete track - * @param {string} id Track UUID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - tracksIdDelete(id: string, options?: RawAxiosRequestConfig): AxiosPromise; - - /** - * Serve the original audio file. For S3-backed tracks returns a 302 redirect to a signed URL (TTL 30min). For local-backed tracks streams the file with Range support. Public tracks or share_token access; paid tracks require a license. - * @summary Download a track - * @param {string} id Track UUID - * @param {string} [shareToken] Grants access without authentication for a limited time - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - tracksIdDownloadGet(id: string, shareToken?: string, options?: RawAxiosRequestConfig): AxiosPromise; - - /** - * Retrieve a single track. Private play_count / like_count are omitted for non-owners (v0.10.3 F202). - * @summary Get track by ID - * @param {string} id Track UUID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - tracksIdGet(id: string, options?: RawAxiosRequestConfig): AxiosPromise; - - /** - * Paginated audit log of modifications (metadata updates, version changes) for a track. - * @summary Get track history - * @param {string} id Track UUID - * @param {number} [limit] Items per page - * @param {number} [offset] Offset - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - tracksIdHistoryGet(id: string, limit?: number, offset?: number, options?: RawAxiosRequestConfig): AxiosPromise; - - /** - * Remove the authenticated user\'s like on the track (idempotent). - * @summary Unlike a track - * @param {string} id Track UUID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - tracksIdLikeDelete(id: string, options?: RawAxiosRequestConfig): AxiosPromise; - - /** - * Record a like from the authenticated user. Creates a grouped notification for the creator (F554). - * @summary Like a track - * @param {string} id Track UUID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - tracksIdLikePost(id: string, options?: RawAxiosRequestConfig): AxiosPromise; - - /** - * Returns whether the current user has liked the track. The total like count is returned ONLY to the creator or an admin (privacy per ORIGIN_UI_UX_SYSTEM §13). - * @summary Get track like status - * @param {string} id Track UUID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - tracksIdLikesGet(id: string, options?: RawAxiosRequestConfig): AxiosPromise; - - /** - * Returns the current lyrics for a track, or null if no lyrics exist. - * @summary Get track lyrics - * @param {string} id Track UUID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - tracksIdLyricsGet(id: string, options?: RawAxiosRequestConfig): AxiosPromise; - - /** - * Replace the lyrics of a track. Caller must own the track or be admin. - * @summary Create or update track lyrics - * @param {string} id Track UUID - * @param {InternalCoreTrackUpdateLyricsRequest} request Lyrics payload - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - tracksIdLyricsPut(id: string, request: InternalCoreTrackUpdateLyricsRequest, options?: RawAxiosRequestConfig): AxiosPromise; - - /** - * Persist a playback event with optional play_time so the creator\'s analytics dashboard tracks listening behaviour. - * @summary Record play event - * @param {string} id Track UUID - * @param {InternalCoreTrackRecordPlayRequest} [request] Playback metadata (optional) - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - tracksIdPlayPost(id: string, request?: InternalCoreTrackRecordPlayRequest, options?: RawAxiosRequestConfig): AxiosPromise; - - /** - * Update the metadata of an existing track. Caller must own the track or be admin. - * @summary Update track metadata - * @param {string} id Track UUID - * @param {InternalCoreTrackUpdateTrackRequest} request Updated metadata - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - tracksIdPut(id: string, request: InternalCoreTrackUpdateTrackRequest, options?: RawAxiosRequestConfig): AxiosPromise; - - /** - * Remove the authenticated user\'s repost of the track (idempotent). - * @summary Remove track repost - * @param {string} id Track UUID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - tracksIdRepostDelete(id: string, options?: RawAxiosRequestConfig): AxiosPromise; - - /** - * Returns whether the current user has reposted the track. Public (optional auth); unauthenticated callers get is_reposted=false. - * @summary Get repost status - * @param {string} id Track UUID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - tracksIdRepostGet(id: string, options?: RawAxiosRequestConfig): AxiosPromise; - - /** - * Add a track to the authenticated user\'s profile as a repost. Notifies the creator (F204) unless self-repost. - * @summary Repost a track - * @param {string} id Track UUID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - tracksIdRepostPost(id: string, options?: RawAxiosRequestConfig): AxiosPromise; - - /** - * Generate a tokenized share link for a track with given permission level and optional expiry. - * @summary Create share link - * @param {string} id Track UUID - * @param {InternalCoreTrackCreateShareRequest} request Share parameters - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - tracksIdSharePost(id: string, request: InternalCoreTrackCreateShareRequest, options?: RawAxiosRequestConfig): AxiosPromise; - - /** - * Aggregated track stats: views, likes, comments, play time, downloads, average duration. - * @summary Get track statistics - * @param {string} id Track UUID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - tracksIdStatsGet(id: string, options?: RawAxiosRequestConfig): AxiosPromise; - - /** - * Get the processing status of an uploaded track - * @summary Get Upload Status - * @param {string} id Track ID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - tracksIdStatusGet(id: string, options?: RawAxiosRequestConfig): AxiosPromise; - - /** - * Default playback path. S3-backed tracks return a 302 redirect to a signed URL (TTL 15min). Local-backed tracks are streamed via http.ServeContent with Range support. Always available, unlike /hls/_* which is gated by HLSEnabled. - * @summary Stream a track (raw audio + Range) - * @param {string} id Track UUID - * @param {string} [shareToken] Grants access without authentication - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - tracksIdStreamGet(id: string, shareToken?: string, options?: RawAxiosRequestConfig): AxiosPromise; - - /** - * Rollback a track to a previous version. Only the track owner can restore. - * @summary Restore track version - * @param {string} id Track UUID - * @param {string} versionId Version UUID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - tracksIdVersionsVersionIdRestorePost(id: string, versionId: string, options?: RawAxiosRequestConfig): AxiosPromise; - - /** - * Returns a JSON peaks array used by the client to draw the audio waveform preview. 404 if waveform extraction is not complete yet. - * @summary Get track waveform - * @param {string} id Track UUID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - tracksIdWaveformGet(id: string, options?: RawAxiosRequestConfig): AxiosPromise; - - /** - * Start a new chunked upload session - * @summary Initiate Chunked Upload - * @param {InternalCoreTrackInitiateChunkedUploadRequest} request Upload Metadata - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - tracksInitiatePost(request: InternalCoreTrackInitiateChunkedUploadRequest, options?: RawAxiosRequestConfig): AxiosPromise; - - /** - * Upload a new track (audio file) - * @summary Upload Track - * @param {File} file Audio File (MP3, WAV, FLAC, OGG) - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - tracksPost(file: File, options?: RawAxiosRequestConfig): AxiosPromise; - - /** - * Get remaining upload quota for the user - * @summary Get Upload Quota - * @param {string} id User ID or \'me\' for current user - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - tracksQuotaIdGet(id: string, options?: RawAxiosRequestConfig): AxiosPromise; - - /** - * Personalized tracks for D2 autoplay. If seed_track_id is given, returns tracks similar to that seed. Otherwise, uses the caller\'s history (chronological, no behavioural ranking — CLAUDE.md rule 7). - * @summary Get track recommendations - * @param {number} [limit] Max items (max 100) - * @param {string} [seedTrackId] Start from this track\'s similarity neighbours - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - tracksRecommendationsGet(limit?: number, seedTrackId?: string, options?: RawAxiosRequestConfig): AxiosPromise; - - /** - * Get state of an interrupted upload - * @summary Resume Upload - * @param {string} uploadId Upload ID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - tracksResumeUploadIdGet(uploadId: string, options?: RawAxiosRequestConfig): AxiosPromise; - - /** - * Full-text + faceted search on tracks (genre, BPM, duration, tags, musical key, dates). Sort-by and order configurable. - * @summary Advanced track search - * @param {string} [q] Full-text query (title/artist/album) - * @param {string} [tags] Comma-separated tag list - * @param {string} [tagMode] Tag combinator (OR / AND) - * @param {number} [minDuration] Minimum duration (seconds) - * @param {number} [maxDuration] Maximum duration (seconds) - * @param {number} [minBpm] Minimum BPM - * @param {number} [maxBpm] Maximum BPM - * @param {string} [genre] Genre filter - * @param {string} [format] Audio format filter - * @param {string} [musicalKey] Musical key filter - * @param {string} [minDate] Created-after (RFC3339) - * @param {string} [maxDate] Created-before (RFC3339) - * @param {number} [page] Page (1-based) - * @param {number} [limit] Items per page (max 100) - * @param {string} [sortBy] Sort column - * @param {string} [sortOrder] asc / desc - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - tracksSearchGet(q?: string, tags?: string, tagMode?: string, minDuration?: number, maxDuration?: number, minBpm?: number, maxBpm?: number, genre?: string, format?: string, musicalKey?: string, minDate?: string, maxDate?: string, page?: number, limit?: number, sortBy?: string, sortOrder?: string, options?: RawAxiosRequestConfig): AxiosPromise; - - /** - * Permanently disable a share token. Only the share issuer (or admin) can revoke. - * @summary Revoke share link - * @param {string} id Share UUID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - tracksShareIdDelete(id: string, options?: RawAxiosRequestConfig): AxiosPromise; - - /** - * Public endpoint that resolves a share token and returns the track + share metadata. No auth required; the token IS the auth. - * @summary Get track by share token - * @param {string} token Opaque share token issued by CreateShare - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - tracksSharedTokenGet(token: string, options?: RawAxiosRequestConfig): AxiosPromise; - - /** - * Returns a static tag suggestion list for a genre — useful for upload autocomplete and filter chips. - * @summary Get suggested tags - * @param {string} [genre] Genre slug (pop, rock, electronic, hip-hop, jazz, classical, ambient, default) - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - tracksSuggestedTagsGet(genre?: string, options?: RawAxiosRequestConfig): AxiosPromise; - -} - -/** - * TrackApi - object-oriented interface - */ -export class TrackApi extends BaseAPI implements TrackApiInterface { - /** - * Internal endpoint called by the Rust stream server when HLS transcoding completes or fails. Updates the track\'s stream_status and stream_manifest_url. Requires internal API key (not user-facing). - * @summary Stream server callback - * @param {string} id Track UUID - * @param {InternalCoreTrackStreamCallbackRequest} request Callback payload - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - public internalTracksIdStreamReadyPost(id: string, request: InternalCoreTrackStreamCallbackRequest, options?: RawAxiosRequestConfig) { - return TrackApiFp(this.configuration).internalTracksIdStreamReadyPost(id, request, options).then((request) => request(this.axios, this.basePath)); - } - - /** - * Soft-delete up to N tracks in one request. Per-track ownership checked (admin can delete others). - * @summary Batch delete tracks - * @param {InternalCoreTrackBatchDeleteRequest} request List of track UUIDs - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - public tracksBatchDeletePost(request: InternalCoreTrackBatchDeleteRequest, options?: RawAxiosRequestConfig) { - return TrackApiFp(this.configuration).tracksBatchDeletePost(request, options).then((request) => request(this.axios, this.basePath)); - } - - /** - * Apply a partial metadata update to up to N tracks in one request. Per-track ownership checked. - * @summary Batch update tracks - * @param {InternalCoreTrackBatchUpdateRequest} request Track UUIDs + shared updates map - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - public tracksBatchUpdatePost(request: InternalCoreTrackBatchUpdateRequest, options?: RawAxiosRequestConfig) { - return TrackApiFp(this.configuration).tracksBatchUpdatePost(request, options).then((request) => request(this.axios, this.basePath)); - } - - /** - * Upload a single chunk of a file - * @summary Upload Chunk - * @param {File} chunk Chunk Data - * @param {string} uploadId Upload ID - * @param {number} chunkNumber Chunk Number - * @param {number} totalChunks Total Chunks - * @param {number} totalSize Total Size - * @param {string} filename Filename - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - public tracksChunkPost(chunk: File, uploadId: string, chunkNumber: number, totalChunks: number, totalSize: number, filename: string, options?: RawAxiosRequestConfig) { - return TrackApiFp(this.configuration).tracksChunkPost(chunk, uploadId, chunkNumber, totalChunks, totalSize, filename, options).then((request) => request(this.axios, this.basePath)); - } - - /** - * Finish upload session and assemble file - * @summary Complete Chunked Upload - * @param {InternalCoreTrackCompleteChunkedUploadRequest} request Upload ID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - public tracksCompletePost(request: InternalCoreTrackCompleteChunkedUploadRequest, options?: RawAxiosRequestConfig) { - return TrackApiFp(this.configuration).tracksCompletePost(request, options).then((request) => request(this.axios, this.basePath)); - } - - /** - * List tracks with pagination, filters, sort. Cursor-based when ?cursor provided, otherwise page/limit offset. - * @summary List tracks - * @param {string} [cursor] Opaque pagination cursor (overrides page) - * @param {number} [page] Page number, 1-based (ignored if cursor set) - * @param {number} [limit] Items per page (max 100) - * @param {string} [userId] Filter by creator UUID - * @param {string} [genre] Filter by genre - * @param {string} [format] Filter by audio format (mp3, flac, wav, ogg, m4a, aac) - * @param {string} [sortBy] Sort column (created_at, play_count, title) - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - public tracksGet(cursor?: string, page?: number, limit?: number, userId?: string, genre?: string, format?: string, sortBy?: string, options?: RawAxiosRequestConfig) { - return TrackApiFp(this.configuration).tracksGet(cursor, page, limit, userId, genre, format, sortBy, options).then((request) => request(this.axios, this.basePath)); - } - - /** - * Soft-delete a track (sets deleted_at). Caller must own the track or be admin. - * @summary Delete track - * @param {string} id Track UUID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - public tracksIdDelete(id: string, options?: RawAxiosRequestConfig) { - return TrackApiFp(this.configuration).tracksIdDelete(id, options).then((request) => request(this.axios, this.basePath)); - } - - /** - * Serve the original audio file. For S3-backed tracks returns a 302 redirect to a signed URL (TTL 30min). For local-backed tracks streams the file with Range support. Public tracks or share_token access; paid tracks require a license. - * @summary Download a track - * @param {string} id Track UUID - * @param {string} [shareToken] Grants access without authentication for a limited time - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - public tracksIdDownloadGet(id: string, shareToken?: string, options?: RawAxiosRequestConfig) { - return TrackApiFp(this.configuration).tracksIdDownloadGet(id, shareToken, options).then((request) => request(this.axios, this.basePath)); - } - - /** - * Retrieve a single track. Private play_count / like_count are omitted for non-owners (v0.10.3 F202). - * @summary Get track by ID - * @param {string} id Track UUID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - public tracksIdGet(id: string, options?: RawAxiosRequestConfig) { - return TrackApiFp(this.configuration).tracksIdGet(id, options).then((request) => request(this.axios, this.basePath)); - } - - /** - * Paginated audit log of modifications (metadata updates, version changes) for a track. - * @summary Get track history - * @param {string} id Track UUID - * @param {number} [limit] Items per page - * @param {number} [offset] Offset - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - public tracksIdHistoryGet(id: string, limit?: number, offset?: number, options?: RawAxiosRequestConfig) { - return TrackApiFp(this.configuration).tracksIdHistoryGet(id, limit, offset, options).then((request) => request(this.axios, this.basePath)); - } - - /** - * Remove the authenticated user\'s like on the track (idempotent). - * @summary Unlike a track - * @param {string} id Track UUID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - public tracksIdLikeDelete(id: string, options?: RawAxiosRequestConfig) { - return TrackApiFp(this.configuration).tracksIdLikeDelete(id, options).then((request) => request(this.axios, this.basePath)); - } - - /** - * Record a like from the authenticated user. Creates a grouped notification for the creator (F554). - * @summary Like a track - * @param {string} id Track UUID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - public tracksIdLikePost(id: string, options?: RawAxiosRequestConfig) { - return TrackApiFp(this.configuration).tracksIdLikePost(id, options).then((request) => request(this.axios, this.basePath)); - } - - /** - * Returns whether the current user has liked the track. The total like count is returned ONLY to the creator or an admin (privacy per ORIGIN_UI_UX_SYSTEM §13). - * @summary Get track like status - * @param {string} id Track UUID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - public tracksIdLikesGet(id: string, options?: RawAxiosRequestConfig) { - return TrackApiFp(this.configuration).tracksIdLikesGet(id, options).then((request) => request(this.axios, this.basePath)); - } - - /** - * Returns the current lyrics for a track, or null if no lyrics exist. - * @summary Get track lyrics - * @param {string} id Track UUID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - public tracksIdLyricsGet(id: string, options?: RawAxiosRequestConfig) { - return TrackApiFp(this.configuration).tracksIdLyricsGet(id, options).then((request) => request(this.axios, this.basePath)); - } - - /** - * Replace the lyrics of a track. Caller must own the track or be admin. - * @summary Create or update track lyrics - * @param {string} id Track UUID - * @param {InternalCoreTrackUpdateLyricsRequest} request Lyrics payload - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - public tracksIdLyricsPut(id: string, request: InternalCoreTrackUpdateLyricsRequest, options?: RawAxiosRequestConfig) { - return TrackApiFp(this.configuration).tracksIdLyricsPut(id, request, options).then((request) => request(this.axios, this.basePath)); - } - - /** - * Persist a playback event with optional play_time so the creator\'s analytics dashboard tracks listening behaviour. - * @summary Record play event - * @param {string} id Track UUID - * @param {InternalCoreTrackRecordPlayRequest} [request] Playback metadata (optional) - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - public tracksIdPlayPost(id: string, request?: InternalCoreTrackRecordPlayRequest, options?: RawAxiosRequestConfig) { - return TrackApiFp(this.configuration).tracksIdPlayPost(id, request, options).then((request) => request(this.axios, this.basePath)); - } - - /** - * Update the metadata of an existing track. Caller must own the track or be admin. - * @summary Update track metadata - * @param {string} id Track UUID - * @param {InternalCoreTrackUpdateTrackRequest} request Updated metadata - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - public tracksIdPut(id: string, request: InternalCoreTrackUpdateTrackRequest, options?: RawAxiosRequestConfig) { - return TrackApiFp(this.configuration).tracksIdPut(id, request, options).then((request) => request(this.axios, this.basePath)); - } - - /** - * Remove the authenticated user\'s repost of the track (idempotent). - * @summary Remove track repost - * @param {string} id Track UUID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - public tracksIdRepostDelete(id: string, options?: RawAxiosRequestConfig) { - return TrackApiFp(this.configuration).tracksIdRepostDelete(id, options).then((request) => request(this.axios, this.basePath)); - } - - /** - * Returns whether the current user has reposted the track. Public (optional auth); unauthenticated callers get is_reposted=false. - * @summary Get repost status - * @param {string} id Track UUID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - public tracksIdRepostGet(id: string, options?: RawAxiosRequestConfig) { - return TrackApiFp(this.configuration).tracksIdRepostGet(id, options).then((request) => request(this.axios, this.basePath)); - } - - /** - * Add a track to the authenticated user\'s profile as a repost. Notifies the creator (F204) unless self-repost. - * @summary Repost a track - * @param {string} id Track UUID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - public tracksIdRepostPost(id: string, options?: RawAxiosRequestConfig) { - return TrackApiFp(this.configuration).tracksIdRepostPost(id, options).then((request) => request(this.axios, this.basePath)); - } - - /** - * Generate a tokenized share link for a track with given permission level and optional expiry. - * @summary Create share link - * @param {string} id Track UUID - * @param {InternalCoreTrackCreateShareRequest} request Share parameters - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - public tracksIdSharePost(id: string, request: InternalCoreTrackCreateShareRequest, options?: RawAxiosRequestConfig) { - return TrackApiFp(this.configuration).tracksIdSharePost(id, request, options).then((request) => request(this.axios, this.basePath)); - } - - /** - * Aggregated track stats: views, likes, comments, play time, downloads, average duration. - * @summary Get track statistics - * @param {string} id Track UUID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - public tracksIdStatsGet(id: string, options?: RawAxiosRequestConfig) { - return TrackApiFp(this.configuration).tracksIdStatsGet(id, options).then((request) => request(this.axios, this.basePath)); - } - - /** - * Get the processing status of an uploaded track - * @summary Get Upload Status - * @param {string} id Track ID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - public tracksIdStatusGet(id: string, options?: RawAxiosRequestConfig) { - return TrackApiFp(this.configuration).tracksIdStatusGet(id, options).then((request) => request(this.axios, this.basePath)); - } - - /** - * Default playback path. S3-backed tracks return a 302 redirect to a signed URL (TTL 15min). Local-backed tracks are streamed via http.ServeContent with Range support. Always available, unlike /hls/_* which is gated by HLSEnabled. - * @summary Stream a track (raw audio + Range) - * @param {string} id Track UUID - * @param {string} [shareToken] Grants access without authentication - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - public tracksIdStreamGet(id: string, shareToken?: string, options?: RawAxiosRequestConfig) { - return TrackApiFp(this.configuration).tracksIdStreamGet(id, shareToken, options).then((request) => request(this.axios, this.basePath)); - } - - /** - * Rollback a track to a previous version. Only the track owner can restore. - * @summary Restore track version - * @param {string} id Track UUID - * @param {string} versionId Version UUID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - public tracksIdVersionsVersionIdRestorePost(id: string, versionId: string, options?: RawAxiosRequestConfig) { - return TrackApiFp(this.configuration).tracksIdVersionsVersionIdRestorePost(id, versionId, options).then((request) => request(this.axios, this.basePath)); - } - - /** - * Returns a JSON peaks array used by the client to draw the audio waveform preview. 404 if waveform extraction is not complete yet. - * @summary Get track waveform - * @param {string} id Track UUID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - public tracksIdWaveformGet(id: string, options?: RawAxiosRequestConfig) { - return TrackApiFp(this.configuration).tracksIdWaveformGet(id, options).then((request) => request(this.axios, this.basePath)); - } - - /** - * Start a new chunked upload session - * @summary Initiate Chunked Upload - * @param {InternalCoreTrackInitiateChunkedUploadRequest} request Upload Metadata - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - public tracksInitiatePost(request: InternalCoreTrackInitiateChunkedUploadRequest, options?: RawAxiosRequestConfig) { - return TrackApiFp(this.configuration).tracksInitiatePost(request, options).then((request) => request(this.axios, this.basePath)); - } - - /** - * Upload a new track (audio file) - * @summary Upload Track - * @param {File} file Audio File (MP3, WAV, FLAC, OGG) - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - public tracksPost(file: File, options?: RawAxiosRequestConfig) { - return TrackApiFp(this.configuration).tracksPost(file, options).then((request) => request(this.axios, this.basePath)); - } - - /** - * Get remaining upload quota for the user - * @summary Get Upload Quota - * @param {string} id User ID or \'me\' for current user - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - public tracksQuotaIdGet(id: string, options?: RawAxiosRequestConfig) { - return TrackApiFp(this.configuration).tracksQuotaIdGet(id, options).then((request) => request(this.axios, this.basePath)); - } - - /** - * Personalized tracks for D2 autoplay. If seed_track_id is given, returns tracks similar to that seed. Otherwise, uses the caller\'s history (chronological, no behavioural ranking — CLAUDE.md rule 7). - * @summary Get track recommendations - * @param {number} [limit] Max items (max 100) - * @param {string} [seedTrackId] Start from this track\'s similarity neighbours - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - public tracksRecommendationsGet(limit?: number, seedTrackId?: string, options?: RawAxiosRequestConfig) { - return TrackApiFp(this.configuration).tracksRecommendationsGet(limit, seedTrackId, options).then((request) => request(this.axios, this.basePath)); - } - - /** - * Get state of an interrupted upload - * @summary Resume Upload - * @param {string} uploadId Upload ID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - public tracksResumeUploadIdGet(uploadId: string, options?: RawAxiosRequestConfig) { - return TrackApiFp(this.configuration).tracksResumeUploadIdGet(uploadId, options).then((request) => request(this.axios, this.basePath)); - } - - /** - * Full-text + faceted search on tracks (genre, BPM, duration, tags, musical key, dates). Sort-by and order configurable. - * @summary Advanced track search - * @param {string} [q] Full-text query (title/artist/album) - * @param {string} [tags] Comma-separated tag list - * @param {string} [tagMode] Tag combinator (OR / AND) - * @param {number} [minDuration] Minimum duration (seconds) - * @param {number} [maxDuration] Maximum duration (seconds) - * @param {number} [minBpm] Minimum BPM - * @param {number} [maxBpm] Maximum BPM - * @param {string} [genre] Genre filter - * @param {string} [format] Audio format filter - * @param {string} [musicalKey] Musical key filter - * @param {string} [minDate] Created-after (RFC3339) - * @param {string} [maxDate] Created-before (RFC3339) - * @param {number} [page] Page (1-based) - * @param {number} [limit] Items per page (max 100) - * @param {string} [sortBy] Sort column - * @param {string} [sortOrder] asc / desc - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - public tracksSearchGet(q?: string, tags?: string, tagMode?: string, minDuration?: number, maxDuration?: number, minBpm?: number, maxBpm?: number, genre?: string, format?: string, musicalKey?: string, minDate?: string, maxDate?: string, page?: number, limit?: number, sortBy?: string, sortOrder?: string, options?: RawAxiosRequestConfig) { - return TrackApiFp(this.configuration).tracksSearchGet(q, tags, tagMode, minDuration, maxDuration, minBpm, maxBpm, genre, format, musicalKey, minDate, maxDate, page, limit, sortBy, sortOrder, options).then((request) => request(this.axios, this.basePath)); - } - - /** - * Permanently disable a share token. Only the share issuer (or admin) can revoke. - * @summary Revoke share link - * @param {string} id Share UUID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - public tracksShareIdDelete(id: string, options?: RawAxiosRequestConfig) { - return TrackApiFp(this.configuration).tracksShareIdDelete(id, options).then((request) => request(this.axios, this.basePath)); - } - - /** - * Public endpoint that resolves a share token and returns the track + share metadata. No auth required; the token IS the auth. - * @summary Get track by share token - * @param {string} token Opaque share token issued by CreateShare - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - public tracksSharedTokenGet(token: string, options?: RawAxiosRequestConfig) { - return TrackApiFp(this.configuration).tracksSharedTokenGet(token, options).then((request) => request(this.axios, this.basePath)); - } - - /** - * Returns a static tag suggestion list for a genre — useful for upload autocomplete and filter chips. - * @summary Get suggested tags - * @param {string} [genre] Genre slug (pop, rock, electronic, hip-hop, jazz, classical, ambient, default) - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - public tracksSuggestedTagsGet(genre?: string, options?: RawAxiosRequestConfig) { - return TrackApiFp(this.configuration).tracksSuggestedTagsGet(genre, options).then((request) => request(this.axios, this.basePath)); - } -} - - - -/** - * UserApi - axios parameter creator - */ -export const UserApiAxiosParamCreator = function (configuration?: Configuration) { - return { - /** - * Get public profile information for a user by username - * @summary Get Profile by Username - * @param {string} username Username - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - usersByUsernameUsernameGet: async (username: string, options: RawAxiosRequestConfig = {}): Promise => { - // verify required parameter 'username' is not null or undefined - assertParamExists('usersByUsernameUsernameGet', 'username', username) - const localVarPath = `/users/by-username/{username}` - .replace(`{${"username"}}`, encodeURIComponent(String(username))); - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - localVarHeaderParameter['Accept'] = 'application/json'; - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - /** - * Get a paginated list of users with optional filtering - * @summary List Users - * @param {number} [page] Page number - * @param {number} [limit] Items per page - * @param {string} [role] Filter by role - * @param {boolean} [isActive] Filter by active status - * @param {boolean} [isVerified] Filter by verified status - * @param {string} [search] Search by username, email, first_name, last_name - * @param {string} [sortBy] Sort field (created_at, username, email, last_login_at) - * @param {string} [sortOrder] Sort order (asc, desc) - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - usersGet: async (page?: number, limit?: number, role?: string, isActive?: boolean, isVerified?: boolean, search?: string, sortBy?: string, sortOrder?: string, options: RawAxiosRequestConfig = {}): Promise => { - const localVarPath = `/users`; - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - if (page !== undefined) { - localVarQueryParameter['page'] = page; - } - - if (limit !== undefined) { - localVarQueryParameter['limit'] = limit; - } - - if (role !== undefined) { - localVarQueryParameter['role'] = role; - } - - if (isActive !== undefined) { - localVarQueryParameter['is_active'] = isActive; - } - - if (isVerified !== undefined) { - localVarQueryParameter['is_verified'] = isVerified; - } - - if (search !== undefined) { - localVarQueryParameter['search'] = search; - } - - if (sortBy !== undefined) { - localVarQueryParameter['sort_by'] = sortBy; - } - - if (sortOrder !== undefined) { - localVarQueryParameter['sort_order'] = sortOrder; - } - - localVarHeaderParameter['Accept'] = 'application/json'; - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - /** - * Authenticated user unblocks target user (idempotent). - * @summary Unblock user - * @param {string} id Target user UUID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - usersIdBlockDelete: async (id: string, options: RawAxiosRequestConfig = {}): Promise => { - // verify required parameter 'id' is not null or undefined - assertParamExists('usersIdBlockDelete', 'id', id) - const localVarPath = `/users/{id}/block` - .replace(`{${"id"}}`, encodeURIComponent(String(id))); - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'DELETE', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - // authentication BearerAuth required - await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration) - - localVarHeaderParameter['Accept'] = 'application/json'; - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - /** - * Authenticated user blocks target user (hides their content, prevents follows). Cannot self-block. - * @summary Block user - * @param {string} id Target user UUID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - usersIdBlockPost: async (id: string, options: RawAxiosRequestConfig = {}): Promise => { - // verify required parameter 'id' is not null or undefined - assertParamExists('usersIdBlockPost', 'id', id) - const localVarPath = `/users/{id}/block` - .replace(`{${"id"}}`, encodeURIComponent(String(id))); - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - // authentication BearerAuth required - await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration) - - localVarHeaderParameter['Accept'] = 'application/json'; - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - /** - * Get profile completion percentage and missing fields - * @summary Get Profile Completion - * @param {string} id User ID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - usersIdCompletionGet: async (id: string, options: RawAxiosRequestConfig = {}): Promise => { - // verify required parameter 'id' is not null or undefined - assertParamExists('usersIdCompletionGet', 'id', id) - const localVarPath = `/users/{id}/completion` - .replace(`{${"id"}}`, encodeURIComponent(String(id))); - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - localVarHeaderParameter['Accept'] = 'application/json'; - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - /** - * Soft delete a user (only user owner or admin can delete) - * @summary Delete user - * @param {string} id User ID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - usersIdDelete: async (id: string, options: RawAxiosRequestConfig = {}): Promise => { - // verify required parameter 'id' is not null or undefined - assertParamExists('usersIdDelete', 'id', id) - const localVarPath = `/users/{id}` - .replace(`{${"id"}}`, encodeURIComponent(String(id))); - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'DELETE', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - // authentication BearerAuth required - await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration) - - localVarHeaderParameter['Accept'] = 'application/json'; - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - /** - * Authenticated user stops following target user (idempotent). - * @summary Unfollow user - * @param {string} id Target user UUID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - usersIdFollowDelete: async (id: string, options: RawAxiosRequestConfig = {}): Promise => { - // verify required parameter 'id' is not null or undefined - assertParamExists('usersIdFollowDelete', 'id', id) - const localVarPath = `/users/{id}/follow` - .replace(`{${"id"}}`, encodeURIComponent(String(id))); - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'DELETE', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - // authentication BearerAuth required - await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration) - - localVarHeaderParameter['Accept'] = 'application/json'; - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - /** - * Authenticated user follows target user. Creates a notification (F554 grouped) for the target. - * @summary Follow user - * @param {string} id Target user UUID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - usersIdFollowPost: async (id: string, options: RawAxiosRequestConfig = {}): Promise => { - // verify required parameter 'id' is not null or undefined - assertParamExists('usersIdFollowPost', 'id', id) - const localVarPath = `/users/{id}/follow` - .replace(`{${"id"}}`, encodeURIComponent(String(id))); - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - // authentication BearerAuth required - await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration) - - localVarHeaderParameter['Accept'] = 'application/json'; - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - /** - * Get public profile information for a user - * @summary Get Profile by ID - * @param {string} id User ID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - usersIdGet: async (id: string, options: RawAxiosRequestConfig = {}): Promise => { - // verify required parameter 'id' is not null or undefined - assertParamExists('usersIdGet', 'id', id) - const localVarPath = `/users/{id}` - .replace(`{${"id"}}`, encodeURIComponent(String(id))); - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - localVarHeaderParameter['Accept'] = 'application/json'; - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - /** - * Returns paginated tracks the given user has liked. Used for profile \"Likes\" tab. - * @summary List tracks liked by a user - * @param {string} id User UUID - * @param {number} [limit] Items per page (max 100) - * @param {number} [offset] Offset for pagination - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - usersIdLikesGet: async (id: string, limit?: number, offset?: number, options: RawAxiosRequestConfig = {}): Promise => { - // verify required parameter 'id' is not null or undefined - assertParamExists('usersIdLikesGet', 'id', id) - const localVarPath = `/users/{id}/likes` - .replace(`{${"id"}}`, encodeURIComponent(String(id))); - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - // authentication BearerAuth required - await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration) - - if (limit !== undefined) { - localVarQueryParameter['limit'] = limit; - } - - if (offset !== undefined) { - localVarQueryParameter['offset'] = offset; - } - - localVarHeaderParameter['Accept'] = 'application/json'; - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - /** - * Update user profile details - * @summary Update Profile - * @param {string} id User ID - * @param {InternalHandlersUpdateProfileRequest} profile Profile Data - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - usersIdPut: async (id: string, profile: InternalHandlersUpdateProfileRequest, options: RawAxiosRequestConfig = {}): Promise => { - // verify required parameter 'id' is not null or undefined - assertParamExists('usersIdPut', 'id', id) - // verify required parameter 'profile' is not null or undefined - assertParamExists('usersIdPut', 'profile', profile) - const localVarPath = `/users/{id}` - .replace(`{${"id"}}`, encodeURIComponent(String(id))); - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'PUT', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - // authentication BearerAuth required - await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration) - - localVarHeaderParameter['Content-Type'] = 'application/json'; - localVarHeaderParameter['Accept'] = 'application/json'; - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - localVarRequestOptions.data = serializeDataIfNeeded(profile, localVarRequestOptions, configuration) - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - /** - * Returns paginated tracks the user has reposted. Used for profile \"Reposts\" tab. - * @summary List tracks reposted by a user - * @param {string} id User UUID - * @param {number} [limit] Items per page (max 100) - * @param {number} [offset] Offset for pagination - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - usersIdRepostsGet: async (id: string, limit?: number, offset?: number, options: RawAxiosRequestConfig = {}): Promise => { - // verify required parameter 'id' is not null or undefined - assertParamExists('usersIdRepostsGet', 'id', id) - const localVarPath = `/users/{id}/reposts` - .replace(`{${"id"}}`, encodeURIComponent(String(id))); - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - if (limit !== undefined) { - localVarQueryParameter['limit'] = limit; - } - - if (offset !== undefined) { - localVarQueryParameter['offset'] = offset; - } - - localVarHeaderParameter['Accept'] = 'application/json'; - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - /** - * Full-text search on users (username, display_name). Paginated. Public. - * @summary Search users - * @param {string} [q] Full-text query - * @param {number} [page] Page - * @param {number} [limit] Items per page (max 100) - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - usersSearchGet: async (q?: string, page?: number, limit?: number, options: RawAxiosRequestConfig = {}): Promise => { - const localVarPath = `/users/search`; - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - if (q !== undefined) { - localVarQueryParameter['q'] = q; - } - - if (page !== undefined) { - localVarQueryParameter['page'] = page; - } - - if (limit !== undefined) { - localVarQueryParameter['limit'] = limit; - } - - localVarHeaderParameter['Accept'] = 'application/json'; - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - /** - * Returns suggested users to follow for the authenticated user. Declarative discovery — no behavioural scoring (CLAUDE.md rule 7). - * @summary Get follow suggestions - * @param {number} [limit] Max items (max 50) - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - usersSuggestionsGet: async (limit?: number, options: RawAxiosRequestConfig = {}): Promise => { - const localVarPath = `/users/suggestions`; - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - // authentication BearerAuth required - await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration) - - if (limit !== undefined) { - localVarQueryParameter['limit'] = limit; - } - - localVarHeaderParameter['Accept'] = 'application/json'; - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - } -}; - -/** - * UserApi - functional programming interface - */ -export const UserApiFp = function(configuration?: Configuration) { - const localVarAxiosParamCreator = UserApiAxiosParamCreator(configuration) - return { - /** - * Get public profile information for a user by username - * @summary Get Profile by Username - * @param {string} username Username - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async usersByUsernameUsernameGet(username: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.usersByUsernameUsernameGet(username, options); - const localVarOperationServerIndex = configuration?.serverIndex ?? 0; - const localVarOperationServerBasePath = operationServerMap['UserApi.usersByUsernameUsernameGet']?.[localVarOperationServerIndex]?.url; - return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); - }, - /** - * Get a paginated list of users with optional filtering - * @summary List Users - * @param {number} [page] Page number - * @param {number} [limit] Items per page - * @param {string} [role] Filter by role - * @param {boolean} [isActive] Filter by active status - * @param {boolean} [isVerified] Filter by verified status - * @param {string} [search] Search by username, email, first_name, last_name - * @param {string} [sortBy] Sort field (created_at, username, email, last_login_at) - * @param {string} [sortOrder] Sort order (asc, desc) - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async usersGet(page?: number, limit?: number, role?: string, isActive?: boolean, isVerified?: boolean, search?: string, sortBy?: string, sortOrder?: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.usersGet(page, limit, role, isActive, isVerified, search, sortBy, sortOrder, options); - const localVarOperationServerIndex = configuration?.serverIndex ?? 0; - const localVarOperationServerBasePath = operationServerMap['UserApi.usersGet']?.[localVarOperationServerIndex]?.url; - return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); - }, - /** - * Authenticated user unblocks target user (idempotent). - * @summary Unblock user - * @param {string} id Target user UUID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async usersIdBlockDelete(id: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.usersIdBlockDelete(id, options); - const localVarOperationServerIndex = configuration?.serverIndex ?? 0; - const localVarOperationServerBasePath = operationServerMap['UserApi.usersIdBlockDelete']?.[localVarOperationServerIndex]?.url; - return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); - }, - /** - * Authenticated user blocks target user (hides their content, prevents follows). Cannot self-block. - * @summary Block user - * @param {string} id Target user UUID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async usersIdBlockPost(id: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.usersIdBlockPost(id, options); - const localVarOperationServerIndex = configuration?.serverIndex ?? 0; - const localVarOperationServerBasePath = operationServerMap['UserApi.usersIdBlockPost']?.[localVarOperationServerIndex]?.url; - return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); - }, - /** - * Get profile completion percentage and missing fields - * @summary Get Profile Completion - * @param {string} id User ID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async usersIdCompletionGet(id: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.usersIdCompletionGet(id, options); - const localVarOperationServerIndex = configuration?.serverIndex ?? 0; - const localVarOperationServerBasePath = operationServerMap['UserApi.usersIdCompletionGet']?.[localVarOperationServerIndex]?.url; - return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); - }, - /** - * Soft delete a user (only user owner or admin can delete) - * @summary Delete user - * @param {string} id User ID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async usersIdDelete(id: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.usersIdDelete(id, options); - const localVarOperationServerIndex = configuration?.serverIndex ?? 0; - const localVarOperationServerBasePath = operationServerMap['UserApi.usersIdDelete']?.[localVarOperationServerIndex]?.url; - return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); - }, - /** - * Authenticated user stops following target user (idempotent). - * @summary Unfollow user - * @param {string} id Target user UUID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async usersIdFollowDelete(id: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.usersIdFollowDelete(id, options); - const localVarOperationServerIndex = configuration?.serverIndex ?? 0; - const localVarOperationServerBasePath = operationServerMap['UserApi.usersIdFollowDelete']?.[localVarOperationServerIndex]?.url; - return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); - }, - /** - * Authenticated user follows target user. Creates a notification (F554 grouped) for the target. - * @summary Follow user - * @param {string} id Target user UUID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async usersIdFollowPost(id: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.usersIdFollowPost(id, options); - const localVarOperationServerIndex = configuration?.serverIndex ?? 0; - const localVarOperationServerBasePath = operationServerMap['UserApi.usersIdFollowPost']?.[localVarOperationServerIndex]?.url; - return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); - }, - /** - * Get public profile information for a user - * @summary Get Profile by ID - * @param {string} id User ID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async usersIdGet(id: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.usersIdGet(id, options); - const localVarOperationServerIndex = configuration?.serverIndex ?? 0; - const localVarOperationServerBasePath = operationServerMap['UserApi.usersIdGet']?.[localVarOperationServerIndex]?.url; - return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); - }, - /** - * Returns paginated tracks the given user has liked. Used for profile \"Likes\" tab. - * @summary List tracks liked by a user - * @param {string} id User UUID - * @param {number} [limit] Items per page (max 100) - * @param {number} [offset] Offset for pagination - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async usersIdLikesGet(id: string, limit?: number, offset?: number, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.usersIdLikesGet(id, limit, offset, options); - const localVarOperationServerIndex = configuration?.serverIndex ?? 0; - const localVarOperationServerBasePath = operationServerMap['UserApi.usersIdLikesGet']?.[localVarOperationServerIndex]?.url; - return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); - }, - /** - * Update user profile details - * @summary Update Profile - * @param {string} id User ID - * @param {InternalHandlersUpdateProfileRequest} profile Profile Data - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async usersIdPut(id: string, profile: InternalHandlersUpdateProfileRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.usersIdPut(id, profile, options); - const localVarOperationServerIndex = configuration?.serverIndex ?? 0; - const localVarOperationServerBasePath = operationServerMap['UserApi.usersIdPut']?.[localVarOperationServerIndex]?.url; - return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); - }, - /** - * Returns paginated tracks the user has reposted. Used for profile \"Reposts\" tab. - * @summary List tracks reposted by a user - * @param {string} id User UUID - * @param {number} [limit] Items per page (max 100) - * @param {number} [offset] Offset for pagination - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async usersIdRepostsGet(id: string, limit?: number, offset?: number, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.usersIdRepostsGet(id, limit, offset, options); - const localVarOperationServerIndex = configuration?.serverIndex ?? 0; - const localVarOperationServerBasePath = operationServerMap['UserApi.usersIdRepostsGet']?.[localVarOperationServerIndex]?.url; - return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); - }, - /** - * Full-text search on users (username, display_name). Paginated. Public. - * @summary Search users - * @param {string} [q] Full-text query - * @param {number} [page] Page - * @param {number} [limit] Items per page (max 100) - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async usersSearchGet(q?: string, page?: number, limit?: number, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.usersSearchGet(q, page, limit, options); - const localVarOperationServerIndex = configuration?.serverIndex ?? 0; - const localVarOperationServerBasePath = operationServerMap['UserApi.usersSearchGet']?.[localVarOperationServerIndex]?.url; - return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); - }, - /** - * Returns suggested users to follow for the authenticated user. Declarative discovery — no behavioural scoring (CLAUDE.md rule 7). - * @summary Get follow suggestions - * @param {number} [limit] Max items (max 50) - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async usersSuggestionsGet(limit?: number, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.usersSuggestionsGet(limit, options); - const localVarOperationServerIndex = configuration?.serverIndex ?? 0; - const localVarOperationServerBasePath = operationServerMap['UserApi.usersSuggestionsGet']?.[localVarOperationServerIndex]?.url; - return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); - }, - } -}; - -/** - * UserApi - factory interface - */ -export const UserApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) { - const localVarFp = UserApiFp(configuration) - return { - /** - * Get public profile information for a user by username - * @summary Get Profile by Username - * @param {string} username Username - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - usersByUsernameUsernameGet(username: string, options?: RawAxiosRequestConfig): AxiosPromise { - return localVarFp.usersByUsernameUsernameGet(username, options).then((request) => request(axios, basePath)); - }, - /** - * Get a paginated list of users with optional filtering - * @summary List Users - * @param {number} [page] Page number - * @param {number} [limit] Items per page - * @param {string} [role] Filter by role - * @param {boolean} [isActive] Filter by active status - * @param {boolean} [isVerified] Filter by verified status - * @param {string} [search] Search by username, email, first_name, last_name - * @param {string} [sortBy] Sort field (created_at, username, email, last_login_at) - * @param {string} [sortOrder] Sort order (asc, desc) - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - usersGet(page?: number, limit?: number, role?: string, isActive?: boolean, isVerified?: boolean, search?: string, sortBy?: string, sortOrder?: string, options?: RawAxiosRequestConfig): AxiosPromise { - return localVarFp.usersGet(page, limit, role, isActive, isVerified, search, sortBy, sortOrder, options).then((request) => request(axios, basePath)); - }, - /** - * Authenticated user unblocks target user (idempotent). - * @summary Unblock user - * @param {string} id Target user UUID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - usersIdBlockDelete(id: string, options?: RawAxiosRequestConfig): AxiosPromise { - return localVarFp.usersIdBlockDelete(id, options).then((request) => request(axios, basePath)); - }, - /** - * Authenticated user blocks target user (hides their content, prevents follows). Cannot self-block. - * @summary Block user - * @param {string} id Target user UUID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - usersIdBlockPost(id: string, options?: RawAxiosRequestConfig): AxiosPromise { - return localVarFp.usersIdBlockPost(id, options).then((request) => request(axios, basePath)); - }, - /** - * Get profile completion percentage and missing fields - * @summary Get Profile Completion - * @param {string} id User ID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - usersIdCompletionGet(id: string, options?: RawAxiosRequestConfig): AxiosPromise { - return localVarFp.usersIdCompletionGet(id, options).then((request) => request(axios, basePath)); - }, - /** - * Soft delete a user (only user owner or admin can delete) - * @summary Delete user - * @param {string} id User ID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - usersIdDelete(id: string, options?: RawAxiosRequestConfig): AxiosPromise { - return localVarFp.usersIdDelete(id, options).then((request) => request(axios, basePath)); - }, - /** - * Authenticated user stops following target user (idempotent). - * @summary Unfollow user - * @param {string} id Target user UUID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - usersIdFollowDelete(id: string, options?: RawAxiosRequestConfig): AxiosPromise { - return localVarFp.usersIdFollowDelete(id, options).then((request) => request(axios, basePath)); - }, - /** - * Authenticated user follows target user. Creates a notification (F554 grouped) for the target. - * @summary Follow user - * @param {string} id Target user UUID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - usersIdFollowPost(id: string, options?: RawAxiosRequestConfig): AxiosPromise { - return localVarFp.usersIdFollowPost(id, options).then((request) => request(axios, basePath)); - }, - /** - * Get public profile information for a user - * @summary Get Profile by ID - * @param {string} id User ID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - usersIdGet(id: string, options?: RawAxiosRequestConfig): AxiosPromise { - return localVarFp.usersIdGet(id, options).then((request) => request(axios, basePath)); - }, - /** - * Returns paginated tracks the given user has liked. Used for profile \"Likes\" tab. - * @summary List tracks liked by a user - * @param {string} id User UUID - * @param {number} [limit] Items per page (max 100) - * @param {number} [offset] Offset for pagination - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - usersIdLikesGet(id: string, limit?: number, offset?: number, options?: RawAxiosRequestConfig): AxiosPromise { - return localVarFp.usersIdLikesGet(id, limit, offset, options).then((request) => request(axios, basePath)); - }, - /** - * Update user profile details - * @summary Update Profile - * @param {string} id User ID - * @param {InternalHandlersUpdateProfileRequest} profile Profile Data - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - usersIdPut(id: string, profile: InternalHandlersUpdateProfileRequest, options?: RawAxiosRequestConfig): AxiosPromise { - return localVarFp.usersIdPut(id, profile, options).then((request) => request(axios, basePath)); - }, - /** - * Returns paginated tracks the user has reposted. Used for profile \"Reposts\" tab. - * @summary List tracks reposted by a user - * @param {string} id User UUID - * @param {number} [limit] Items per page (max 100) - * @param {number} [offset] Offset for pagination - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - usersIdRepostsGet(id: string, limit?: number, offset?: number, options?: RawAxiosRequestConfig): AxiosPromise { - return localVarFp.usersIdRepostsGet(id, limit, offset, options).then((request) => request(axios, basePath)); - }, - /** - * Full-text search on users (username, display_name). Paginated. Public. - * @summary Search users - * @param {string} [q] Full-text query - * @param {number} [page] Page - * @param {number} [limit] Items per page (max 100) - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - usersSearchGet(q?: string, page?: number, limit?: number, options?: RawAxiosRequestConfig): AxiosPromise { - return localVarFp.usersSearchGet(q, page, limit, options).then((request) => request(axios, basePath)); - }, - /** - * Returns suggested users to follow for the authenticated user. Declarative discovery — no behavioural scoring (CLAUDE.md rule 7). - * @summary Get follow suggestions - * @param {number} [limit] Max items (max 50) - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - usersSuggestionsGet(limit?: number, options?: RawAxiosRequestConfig): AxiosPromise { - return localVarFp.usersSuggestionsGet(limit, options).then((request) => request(axios, basePath)); - }, - }; -}; - -/** - * UserApi - interface - */ -export interface UserApiInterface { - /** - * Get public profile information for a user by username - * @summary Get Profile by Username - * @param {string} username Username - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - usersByUsernameUsernameGet(username: string, options?: RawAxiosRequestConfig): AxiosPromise; - - /** - * Get a paginated list of users with optional filtering - * @summary List Users - * @param {number} [page] Page number - * @param {number} [limit] Items per page - * @param {string} [role] Filter by role - * @param {boolean} [isActive] Filter by active status - * @param {boolean} [isVerified] Filter by verified status - * @param {string} [search] Search by username, email, first_name, last_name - * @param {string} [sortBy] Sort field (created_at, username, email, last_login_at) - * @param {string} [sortOrder] Sort order (asc, desc) - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - usersGet(page?: number, limit?: number, role?: string, isActive?: boolean, isVerified?: boolean, search?: string, sortBy?: string, sortOrder?: string, options?: RawAxiosRequestConfig): AxiosPromise; - - /** - * Authenticated user unblocks target user (idempotent). - * @summary Unblock user - * @param {string} id Target user UUID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - usersIdBlockDelete(id: string, options?: RawAxiosRequestConfig): AxiosPromise; - - /** - * Authenticated user blocks target user (hides their content, prevents follows). Cannot self-block. - * @summary Block user - * @param {string} id Target user UUID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - usersIdBlockPost(id: string, options?: RawAxiosRequestConfig): AxiosPromise; - - /** - * Get profile completion percentage and missing fields - * @summary Get Profile Completion - * @param {string} id User ID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - usersIdCompletionGet(id: string, options?: RawAxiosRequestConfig): AxiosPromise; - - /** - * Soft delete a user (only user owner or admin can delete) - * @summary Delete user - * @param {string} id User ID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - usersIdDelete(id: string, options?: RawAxiosRequestConfig): AxiosPromise; - - /** - * Authenticated user stops following target user (idempotent). - * @summary Unfollow user - * @param {string} id Target user UUID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - usersIdFollowDelete(id: string, options?: RawAxiosRequestConfig): AxiosPromise; - - /** - * Authenticated user follows target user. Creates a notification (F554 grouped) for the target. - * @summary Follow user - * @param {string} id Target user UUID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - usersIdFollowPost(id: string, options?: RawAxiosRequestConfig): AxiosPromise; - - /** - * Get public profile information for a user - * @summary Get Profile by ID - * @param {string} id User ID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - usersIdGet(id: string, options?: RawAxiosRequestConfig): AxiosPromise; - - /** - * Returns paginated tracks the given user has liked. Used for profile \"Likes\" tab. - * @summary List tracks liked by a user - * @param {string} id User UUID - * @param {number} [limit] Items per page (max 100) - * @param {number} [offset] Offset for pagination - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - usersIdLikesGet(id: string, limit?: number, offset?: number, options?: RawAxiosRequestConfig): AxiosPromise; - - /** - * Update user profile details - * @summary Update Profile - * @param {string} id User ID - * @param {InternalHandlersUpdateProfileRequest} profile Profile Data - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - usersIdPut(id: string, profile: InternalHandlersUpdateProfileRequest, options?: RawAxiosRequestConfig): AxiosPromise; - - /** - * Returns paginated tracks the user has reposted. Used for profile \"Reposts\" tab. - * @summary List tracks reposted by a user - * @param {string} id User UUID - * @param {number} [limit] Items per page (max 100) - * @param {number} [offset] Offset for pagination - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - usersIdRepostsGet(id: string, limit?: number, offset?: number, options?: RawAxiosRequestConfig): AxiosPromise; - - /** - * Full-text search on users (username, display_name). Paginated. Public. - * @summary Search users - * @param {string} [q] Full-text query - * @param {number} [page] Page - * @param {number} [limit] Items per page (max 100) - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - usersSearchGet(q?: string, page?: number, limit?: number, options?: RawAxiosRequestConfig): AxiosPromise; - - /** - * Returns suggested users to follow for the authenticated user. Declarative discovery — no behavioural scoring (CLAUDE.md rule 7). - * @summary Get follow suggestions - * @param {number} [limit] Max items (max 50) - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - usersSuggestionsGet(limit?: number, options?: RawAxiosRequestConfig): AxiosPromise; - -} - -/** - * UserApi - object-oriented interface - */ -export class UserApi extends BaseAPI implements UserApiInterface { - /** - * Get public profile information for a user by username - * @summary Get Profile by Username - * @param {string} username Username - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - public usersByUsernameUsernameGet(username: string, options?: RawAxiosRequestConfig) { - return UserApiFp(this.configuration).usersByUsernameUsernameGet(username, options).then((request) => request(this.axios, this.basePath)); - } - - /** - * Get a paginated list of users with optional filtering - * @summary List Users - * @param {number} [page] Page number - * @param {number} [limit] Items per page - * @param {string} [role] Filter by role - * @param {boolean} [isActive] Filter by active status - * @param {boolean} [isVerified] Filter by verified status - * @param {string} [search] Search by username, email, first_name, last_name - * @param {string} [sortBy] Sort field (created_at, username, email, last_login_at) - * @param {string} [sortOrder] Sort order (asc, desc) - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - public usersGet(page?: number, limit?: number, role?: string, isActive?: boolean, isVerified?: boolean, search?: string, sortBy?: string, sortOrder?: string, options?: RawAxiosRequestConfig) { - return UserApiFp(this.configuration).usersGet(page, limit, role, isActive, isVerified, search, sortBy, sortOrder, options).then((request) => request(this.axios, this.basePath)); - } - - /** - * Authenticated user unblocks target user (idempotent). - * @summary Unblock user - * @param {string} id Target user UUID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - public usersIdBlockDelete(id: string, options?: RawAxiosRequestConfig) { - return UserApiFp(this.configuration).usersIdBlockDelete(id, options).then((request) => request(this.axios, this.basePath)); - } - - /** - * Authenticated user blocks target user (hides their content, prevents follows). Cannot self-block. - * @summary Block user - * @param {string} id Target user UUID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - public usersIdBlockPost(id: string, options?: RawAxiosRequestConfig) { - return UserApiFp(this.configuration).usersIdBlockPost(id, options).then((request) => request(this.axios, this.basePath)); - } - - /** - * Get profile completion percentage and missing fields - * @summary Get Profile Completion - * @param {string} id User ID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - public usersIdCompletionGet(id: string, options?: RawAxiosRequestConfig) { - return UserApiFp(this.configuration).usersIdCompletionGet(id, options).then((request) => request(this.axios, this.basePath)); - } - - /** - * Soft delete a user (only user owner or admin can delete) - * @summary Delete user - * @param {string} id User ID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - public usersIdDelete(id: string, options?: RawAxiosRequestConfig) { - return UserApiFp(this.configuration).usersIdDelete(id, options).then((request) => request(this.axios, this.basePath)); - } - - /** - * Authenticated user stops following target user (idempotent). - * @summary Unfollow user - * @param {string} id Target user UUID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - public usersIdFollowDelete(id: string, options?: RawAxiosRequestConfig) { - return UserApiFp(this.configuration).usersIdFollowDelete(id, options).then((request) => request(this.axios, this.basePath)); - } - - /** - * Authenticated user follows target user. Creates a notification (F554 grouped) for the target. - * @summary Follow user - * @param {string} id Target user UUID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - public usersIdFollowPost(id: string, options?: RawAxiosRequestConfig) { - return UserApiFp(this.configuration).usersIdFollowPost(id, options).then((request) => request(this.axios, this.basePath)); - } - - /** - * Get public profile information for a user - * @summary Get Profile by ID - * @param {string} id User ID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - public usersIdGet(id: string, options?: RawAxiosRequestConfig) { - return UserApiFp(this.configuration).usersIdGet(id, options).then((request) => request(this.axios, this.basePath)); - } - - /** - * Returns paginated tracks the given user has liked. Used for profile \"Likes\" tab. - * @summary List tracks liked by a user - * @param {string} id User UUID - * @param {number} [limit] Items per page (max 100) - * @param {number} [offset] Offset for pagination - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - public usersIdLikesGet(id: string, limit?: number, offset?: number, options?: RawAxiosRequestConfig) { - return UserApiFp(this.configuration).usersIdLikesGet(id, limit, offset, options).then((request) => request(this.axios, this.basePath)); - } - - /** - * Update user profile details - * @summary Update Profile - * @param {string} id User ID - * @param {InternalHandlersUpdateProfileRequest} profile Profile Data - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - public usersIdPut(id: string, profile: InternalHandlersUpdateProfileRequest, options?: RawAxiosRequestConfig) { - return UserApiFp(this.configuration).usersIdPut(id, profile, options).then((request) => request(this.axios, this.basePath)); - } - - /** - * Returns paginated tracks the user has reposted. Used for profile \"Reposts\" tab. - * @summary List tracks reposted by a user - * @param {string} id User UUID - * @param {number} [limit] Items per page (max 100) - * @param {number} [offset] Offset for pagination - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - public usersIdRepostsGet(id: string, limit?: number, offset?: number, options?: RawAxiosRequestConfig) { - return UserApiFp(this.configuration).usersIdRepostsGet(id, limit, offset, options).then((request) => request(this.axios, this.basePath)); - } - - /** - * Full-text search on users (username, display_name). Paginated. Public. - * @summary Search users - * @param {string} [q] Full-text query - * @param {number} [page] Page - * @param {number} [limit] Items per page (max 100) - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - public usersSearchGet(q?: string, page?: number, limit?: number, options?: RawAxiosRequestConfig) { - return UserApiFp(this.configuration).usersSearchGet(q, page, limit, options).then((request) => request(this.axios, this.basePath)); - } - - /** - * Returns suggested users to follow for the authenticated user. Declarative discovery — no behavioural scoring (CLAUDE.md rule 7). - * @summary Get follow suggestions - * @param {number} [limit] Max items (max 50) - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - public usersSuggestionsGet(limit?: number, options?: RawAxiosRequestConfig) { - return UserApiFp(this.configuration).usersSuggestionsGet(limit, options).then((request) => request(this.axios, this.basePath)); - } -} - - - -/** - * UsersApi - axios parameter creator - */ -export const UsersApiAxiosParamCreator = function (configuration?: Configuration) { - return { - /** - * Permanently delete user account with anonymization, session revocation, audit log - * @summary Delete account - * @param {InternalHandlersDeleteAccountRequest} body Password, reason, confirm_text (must be DELETE) - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - usersMeDelete: async (body: InternalHandlersDeleteAccountRequest, options: RawAxiosRequestConfig = {}): Promise => { - // verify required parameter 'body' is not null or undefined - assertParamExists('usersMeDelete', 'body', body) - const localVarPath = `/users/me`; - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'DELETE', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - // authentication BearerAuth required - await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration) - - localVarHeaderParameter['Content-Type'] = 'application/json'; - localVarHeaderParameter['Accept'] = '*/*'; - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - localVarRequestOptions.data = serializeDataIfNeeded(body, localVarRequestOptions, configuration) - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - /** - * Saves the user\'s Do Not Sell preference (CCPA compliance) - * @summary CCPA Do Not Sell opt-out - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - usersMePrivacyOptOutPost: async (options: RawAxiosRequestConfig = {}): Promise => { - const localVarPath = `/users/me/privacy/opt-out`; - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - // authentication BearerAuth required - await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration) - - localVarHeaderParameter['Accept'] = '*/*'; - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - } -}; - -/** - * UsersApi - functional programming interface - */ -export const UsersApiFp = function(configuration?: Configuration) { - const localVarAxiosParamCreator = UsersApiAxiosParamCreator(configuration) - return { - /** - * Permanently delete user account with anonymization, session revocation, audit log - * @summary Delete account - * @param {InternalHandlersDeleteAccountRequest} body Password, reason, confirm_text (must be DELETE) - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async usersMeDelete(body: InternalHandlersDeleteAccountRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<{ [key: string]: any; }>> { - const localVarAxiosArgs = await localVarAxiosParamCreator.usersMeDelete(body, options); - const localVarOperationServerIndex = configuration?.serverIndex ?? 0; - const localVarOperationServerBasePath = operationServerMap['UsersApi.usersMeDelete']?.[localVarOperationServerIndex]?.url; - return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); - }, - /** - * Saves the user\'s Do Not Sell preference (CCPA compliance) - * @summary CCPA Do Not Sell opt-out - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async usersMePrivacyOptOutPost(options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<{ [key: string]: any; }>> { - const localVarAxiosArgs = await localVarAxiosParamCreator.usersMePrivacyOptOutPost(options); - const localVarOperationServerIndex = configuration?.serverIndex ?? 0; - const localVarOperationServerBasePath = operationServerMap['UsersApi.usersMePrivacyOptOutPost']?.[localVarOperationServerIndex]?.url; - return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); - }, - } -}; - -/** - * UsersApi - factory interface - */ -export const UsersApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) { - const localVarFp = UsersApiFp(configuration) - return { - /** - * Permanently delete user account with anonymization, session revocation, audit log - * @summary Delete account - * @param {InternalHandlersDeleteAccountRequest} body Password, reason, confirm_text (must be DELETE) - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - usersMeDelete(body: InternalHandlersDeleteAccountRequest, options?: RawAxiosRequestConfig): AxiosPromise<{ [key: string]: any; }> { - return localVarFp.usersMeDelete(body, options).then((request) => request(axios, basePath)); - }, - /** - * Saves the user\'s Do Not Sell preference (CCPA compliance) - * @summary CCPA Do Not Sell opt-out - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - usersMePrivacyOptOutPost(options?: RawAxiosRequestConfig): AxiosPromise<{ [key: string]: any; }> { - return localVarFp.usersMePrivacyOptOutPost(options).then((request) => request(axios, basePath)); - }, - }; -}; - -/** - * UsersApi - interface - */ -export interface UsersApiInterface { - /** - * Permanently delete user account with anonymization, session revocation, audit log - * @summary Delete account - * @param {InternalHandlersDeleteAccountRequest} body Password, reason, confirm_text (must be DELETE) - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - usersMeDelete(body: InternalHandlersDeleteAccountRequest, options?: RawAxiosRequestConfig): AxiosPromise<{ [key: string]: any; }>; - - /** - * Saves the user\'s Do Not Sell preference (CCPA compliance) - * @summary CCPA Do Not Sell opt-out - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - usersMePrivacyOptOutPost(options?: RawAxiosRequestConfig): AxiosPromise<{ [key: string]: any; }>; - -} - -/** - * UsersApi - object-oriented interface - */ -export class UsersApi extends BaseAPI implements UsersApiInterface { - /** - * Permanently delete user account with anonymization, session revocation, audit log - * @summary Delete account - * @param {InternalHandlersDeleteAccountRequest} body Password, reason, confirm_text (must be DELETE) - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - public usersMeDelete(body: InternalHandlersDeleteAccountRequest, options?: RawAxiosRequestConfig) { - return UsersApiFp(this.configuration).usersMeDelete(body, options).then((request) => request(this.axios, this.basePath)); - } - - /** - * Saves the user\'s Do Not Sell preference (CCPA compliance) - * @summary CCPA Do Not Sell opt-out - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - public usersMePrivacyOptOutPost(options?: RawAxiosRequestConfig) { - return UsersApiFp(this.configuration).usersMePrivacyOptOutPost(options).then((request) => request(this.axios, this.basePath)); - } -} - - - -/** - * ValidationApi - axios parameter creator - */ -export const ValidationApiAxiosParamCreator = function (configuration?: Configuration) { - return { - /** - * Validates request data against known DTO types without executing the actual operation - * @summary Validate request body - * @param {InternalHandlersValidateRequest} request Validation request with type and data - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - validatePost: async (request: InternalHandlersValidateRequest, options: RawAxiosRequestConfig = {}): Promise => { - // verify required parameter 'request' is not null or undefined - assertParamExists('validatePost', 'request', request) - const localVarPath = `/validate`; - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - localVarHeaderParameter['Content-Type'] = 'application/json'; - localVarHeaderParameter['Accept'] = 'application/json'; - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - localVarRequestOptions.data = serializeDataIfNeeded(request, localVarRequestOptions, configuration) - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - } -}; - -/** - * ValidationApi - functional programming interface - */ -export const ValidationApiFp = function(configuration?: Configuration) { - const localVarAxiosParamCreator = ValidationApiAxiosParamCreator(configuration) - return { - /** - * Validates request data against known DTO types without executing the actual operation - * @summary Validate request body - * @param {InternalHandlersValidateRequest} request Validation request with type and data - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async validatePost(request: InternalHandlersValidateRequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.validatePost(request, options); - const localVarOperationServerIndex = configuration?.serverIndex ?? 0; - const localVarOperationServerBasePath = operationServerMap['ValidationApi.validatePost']?.[localVarOperationServerIndex]?.url; - return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); - }, - } -}; - -/** - * ValidationApi - factory interface - */ -export const ValidationApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) { - const localVarFp = ValidationApiFp(configuration) - return { - /** - * Validates request data against known DTO types without executing the actual operation - * @summary Validate request body - * @param {InternalHandlersValidateRequest} request Validation request with type and data - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - validatePost(request: InternalHandlersValidateRequest, options?: RawAxiosRequestConfig): AxiosPromise { - return localVarFp.validatePost(request, options).then((request) => request(axios, basePath)); - }, - }; -}; - -/** - * ValidationApi - interface - */ -export interface ValidationApiInterface { - /** - * Validates request data against known DTO types without executing the actual operation - * @summary Validate request body - * @param {InternalHandlersValidateRequest} request Validation request with type and data - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - validatePost(request: InternalHandlersValidateRequest, options?: RawAxiosRequestConfig): AxiosPromise; - -} - -/** - * ValidationApi - object-oriented interface - */ -export class ValidationApi extends BaseAPI implements ValidationApiInterface { - /** - * Validates request data against known DTO types without executing the actual operation - * @summary Validate request body - * @param {InternalHandlersValidateRequest} request Validation request with type and data - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - public validatePost(request: InternalHandlersValidateRequest, options?: RawAxiosRequestConfig) { - return ValidationApiFp(this.configuration).validatePost(request, options).then((request) => request(this.axios, this.basePath)); - } -} - - - -/** - * WebhookApi - axios parameter creator - */ -export const WebhookApiAxiosParamCreator = function (configuration?: Configuration) { - return { - /** - * Get a list of all webhooks registered by the current user - * @summary List webhooks - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - webhooksGet: async (options: RawAxiosRequestConfig = {}): Promise => { - const localVarPath = `/webhooks`; - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - // authentication BearerAuth required - await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration) - - localVarHeaderParameter['Accept'] = 'application/json'; - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - /** - * Delete a webhook by ID - * @summary Delete webhook - * @param {string} id Webhook ID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - webhooksIdDelete: async (id: string, options: RawAxiosRequestConfig = {}): Promise => { - // verify required parameter 'id' is not null or undefined - assertParamExists('webhooksIdDelete', 'id', id) - const localVarPath = `/webhooks/{id}` - .replace(`{${"id"}}`, encodeURIComponent(String(id))); - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'DELETE', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - // authentication BearerAuth required - await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration) - - localVarHeaderParameter['Accept'] = 'application/json'; - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - /** - * Generate a new API key for a webhook (invalidates the old one) - * @summary Regenerate webhook API key - * @param {string} id Webhook ID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - webhooksIdRegenerateKeyPost: async (id: string, options: RawAxiosRequestConfig = {}): Promise => { - // verify required parameter 'id' is not null or undefined - assertParamExists('webhooksIdRegenerateKeyPost', 'id', id) - const localVarPath = `/webhooks/{id}/regenerate-key` - .replace(`{${"id"}}`, encodeURIComponent(String(id))); - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - // authentication BearerAuth required - await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration) - - localVarHeaderParameter['Accept'] = 'application/json'; - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - /** - * Send a test event to a webhook to verify it\'s working - * @summary Test webhook - * @param {string} id Webhook ID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - webhooksIdTestPost: async (id: string, options: RawAxiosRequestConfig = {}): Promise => { - // verify required parameter 'id' is not null or undefined - assertParamExists('webhooksIdTestPost', 'id', id) - const localVarPath = `/webhooks/{id}/test` - .replace(`{${"id"}}`, encodeURIComponent(String(id))); - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - // authentication BearerAuth required - await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration) - - localVarHeaderParameter['Accept'] = 'application/json'; - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - /** - * Register a new webhook for receiving events - * @summary Register webhook - * @param {object} webhook Webhook registration data - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - webhooksPost: async (webhook: object, options: RawAxiosRequestConfig = {}): Promise => { - // verify required parameter 'webhook' is not null or undefined - assertParamExists('webhooksPost', 'webhook', webhook) - const localVarPath = `/webhooks`; - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - // authentication BearerAuth required - await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration) - - localVarHeaderParameter['Content-Type'] = 'application/json'; - localVarHeaderParameter['Accept'] = 'application/json'; - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - localVarRequestOptions.data = serializeDataIfNeeded(webhook, localVarRequestOptions, configuration) - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - /** - * Get statistics for webhook delivery and performance - * @summary Get webhook statistics - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - webhooksStatsGet: async (options: RawAxiosRequestConfig = {}): Promise => { - const localVarPath = `/webhooks/stats`; - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - // authentication BearerAuth required - await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration) - - localVarHeaderParameter['Accept'] = 'application/json'; - - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - } -}; - -/** - * WebhookApi - functional programming interface - */ -export const WebhookApiFp = function(configuration?: Configuration) { - const localVarAxiosParamCreator = WebhookApiAxiosParamCreator(configuration) - return { - /** - * Get a list of all webhooks registered by the current user - * @summary List webhooks - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async webhooksGet(options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.webhooksGet(options); - const localVarOperationServerIndex = configuration?.serverIndex ?? 0; - const localVarOperationServerBasePath = operationServerMap['WebhookApi.webhooksGet']?.[localVarOperationServerIndex]?.url; - return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); - }, - /** - * Delete a webhook by ID - * @summary Delete webhook - * @param {string} id Webhook ID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async webhooksIdDelete(id: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.webhooksIdDelete(id, options); - const localVarOperationServerIndex = configuration?.serverIndex ?? 0; - const localVarOperationServerBasePath = operationServerMap['WebhookApi.webhooksIdDelete']?.[localVarOperationServerIndex]?.url; - return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); - }, - /** - * Generate a new API key for a webhook (invalidates the old one) - * @summary Regenerate webhook API key - * @param {string} id Webhook ID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async webhooksIdRegenerateKeyPost(id: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.webhooksIdRegenerateKeyPost(id, options); - const localVarOperationServerIndex = configuration?.serverIndex ?? 0; - const localVarOperationServerBasePath = operationServerMap['WebhookApi.webhooksIdRegenerateKeyPost']?.[localVarOperationServerIndex]?.url; - return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); - }, - /** - * Send a test event to a webhook to verify it\'s working - * @summary Test webhook - * @param {string} id Webhook ID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async webhooksIdTestPost(id: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.webhooksIdTestPost(id, options); - const localVarOperationServerIndex = configuration?.serverIndex ?? 0; - const localVarOperationServerBasePath = operationServerMap['WebhookApi.webhooksIdTestPost']?.[localVarOperationServerIndex]?.url; - return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); - }, - /** - * Register a new webhook for receiving events - * @summary Register webhook - * @param {object} webhook Webhook registration data - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async webhooksPost(webhook: object, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.webhooksPost(webhook, options); - const localVarOperationServerIndex = configuration?.serverIndex ?? 0; - const localVarOperationServerBasePath = operationServerMap['WebhookApi.webhooksPost']?.[localVarOperationServerIndex]?.url; - return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); - }, - /** - * Get statistics for webhook delivery and performance - * @summary Get webhook statistics - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async webhooksStatsGet(options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.webhooksStatsGet(options); - const localVarOperationServerIndex = configuration?.serverIndex ?? 0; - const localVarOperationServerBasePath = operationServerMap['WebhookApi.webhooksStatsGet']?.[localVarOperationServerIndex]?.url; - return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); - }, - } -}; - -/** - * WebhookApi - factory interface - */ -export const WebhookApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) { - const localVarFp = WebhookApiFp(configuration) - return { - /** - * Get a list of all webhooks registered by the current user - * @summary List webhooks - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - webhooksGet(options?: RawAxiosRequestConfig): AxiosPromise { - return localVarFp.webhooksGet(options).then((request) => request(axios, basePath)); - }, - /** - * Delete a webhook by ID - * @summary Delete webhook - * @param {string} id Webhook ID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - webhooksIdDelete(id: string, options?: RawAxiosRequestConfig): AxiosPromise { - return localVarFp.webhooksIdDelete(id, options).then((request) => request(axios, basePath)); - }, - /** - * Generate a new API key for a webhook (invalidates the old one) - * @summary Regenerate webhook API key - * @param {string} id Webhook ID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - webhooksIdRegenerateKeyPost(id: string, options?: RawAxiosRequestConfig): AxiosPromise { - return localVarFp.webhooksIdRegenerateKeyPost(id, options).then((request) => request(axios, basePath)); - }, - /** - * Send a test event to a webhook to verify it\'s working - * @summary Test webhook - * @param {string} id Webhook ID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - webhooksIdTestPost(id: string, options?: RawAxiosRequestConfig): AxiosPromise { - return localVarFp.webhooksIdTestPost(id, options).then((request) => request(axios, basePath)); - }, - /** - * Register a new webhook for receiving events - * @summary Register webhook - * @param {object} webhook Webhook registration data - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - webhooksPost(webhook: object, options?: RawAxiosRequestConfig): AxiosPromise { - return localVarFp.webhooksPost(webhook, options).then((request) => request(axios, basePath)); - }, - /** - * Get statistics for webhook delivery and performance - * @summary Get webhook statistics - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - webhooksStatsGet(options?: RawAxiosRequestConfig): AxiosPromise { - return localVarFp.webhooksStatsGet(options).then((request) => request(axios, basePath)); - }, - }; -}; - -/** - * WebhookApi - interface - */ -export interface WebhookApiInterface { - /** - * Get a list of all webhooks registered by the current user - * @summary List webhooks - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - webhooksGet(options?: RawAxiosRequestConfig): AxiosPromise; - - /** - * Delete a webhook by ID - * @summary Delete webhook - * @param {string} id Webhook ID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - webhooksIdDelete(id: string, options?: RawAxiosRequestConfig): AxiosPromise; - - /** - * Generate a new API key for a webhook (invalidates the old one) - * @summary Regenerate webhook API key - * @param {string} id Webhook ID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - webhooksIdRegenerateKeyPost(id: string, options?: RawAxiosRequestConfig): AxiosPromise; - - /** - * Send a test event to a webhook to verify it\'s working - * @summary Test webhook - * @param {string} id Webhook ID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - webhooksIdTestPost(id: string, options?: RawAxiosRequestConfig): AxiosPromise; - - /** - * Register a new webhook for receiving events - * @summary Register webhook - * @param {object} webhook Webhook registration data - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - webhooksPost(webhook: object, options?: RawAxiosRequestConfig): AxiosPromise; - - /** - * Get statistics for webhook delivery and performance - * @summary Get webhook statistics - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - webhooksStatsGet(options?: RawAxiosRequestConfig): AxiosPromise; - -} - -/** - * WebhookApi - object-oriented interface - */ -export class WebhookApi extends BaseAPI implements WebhookApiInterface { - /** - * Get a list of all webhooks registered by the current user - * @summary List webhooks - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - public webhooksGet(options?: RawAxiosRequestConfig) { - return WebhookApiFp(this.configuration).webhooksGet(options).then((request) => request(this.axios, this.basePath)); - } - - /** - * Delete a webhook by ID - * @summary Delete webhook - * @param {string} id Webhook ID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - public webhooksIdDelete(id: string, options?: RawAxiosRequestConfig) { - return WebhookApiFp(this.configuration).webhooksIdDelete(id, options).then((request) => request(this.axios, this.basePath)); - } - - /** - * Generate a new API key for a webhook (invalidates the old one) - * @summary Regenerate webhook API key - * @param {string} id Webhook ID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - public webhooksIdRegenerateKeyPost(id: string, options?: RawAxiosRequestConfig) { - return WebhookApiFp(this.configuration).webhooksIdRegenerateKeyPost(id, options).then((request) => request(this.axios, this.basePath)); - } - - /** - * Send a test event to a webhook to verify it\'s working - * @summary Test webhook - * @param {string} id Webhook ID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - public webhooksIdTestPost(id: string, options?: RawAxiosRequestConfig) { - return WebhookApiFp(this.configuration).webhooksIdTestPost(id, options).then((request) => request(this.axios, this.basePath)); - } - - /** - * Register a new webhook for receiving events - * @summary Register webhook - * @param {object} webhook Webhook registration data - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - public webhooksPost(webhook: object, options?: RawAxiosRequestConfig) { - return WebhookApiFp(this.configuration).webhooksPost(webhook, options).then((request) => request(this.axios, this.basePath)); - } - - /** - * Get statistics for webhook delivery and performance - * @summary Get webhook statistics - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - public webhooksStatsGet(options?: RawAxiosRequestConfig) { - return WebhookApiFp(this.configuration).webhooksStatsGet(options).then((request) => request(this.axios, this.basePath)); - } -} - - - diff --git a/apps/web/src/types/generated/base.ts b/apps/web/src/types/generated/base.ts deleted file mode 100644 index 07089f2c7..000000000 --- a/apps/web/src/types/generated/base.ts +++ /dev/null @@ -1,62 +0,0 @@ -/* tslint:disable */ -/* eslint-disable */ -/** - * Veza Backend API - * Backend API for Veza platform. - * - * The version of the OpenAPI document: 1.2.0 - * Contact: support@veza.app - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - - -import type { Configuration } from './configuration'; -// Some imports not used depending on template conditions -// @ts-ignore -import type { AxiosPromise, AxiosInstance, RawAxiosRequestConfig } from 'axios'; -import globalAxios from 'axios'; - -export const BASE_PATH = "http://localhost:18080/api/v1".replace(/\/+$/, ""); - -export const COLLECTION_FORMATS = { - csv: ",", - ssv: " ", - tsv: "\t", - pipes: "|", -}; - -export interface RequestArgs { - url: string; - options: RawAxiosRequestConfig; -} - -export class BaseAPI { - protected configuration: Configuration | undefined; - - constructor(configuration?: Configuration, protected basePath: string = BASE_PATH, protected axios: AxiosInstance = globalAxios) { - if (configuration) { - this.configuration = configuration; - this.basePath = configuration.basePath ?? basePath; - } - } -}; - -export class RequiredError extends Error { - constructor(public field: string, msg?: string) { - super(msg); - this.name = "RequiredError" - } -} - -interface ServerMap { - [key: string]: { - url: string, - description: string, - }[]; -} - -export const operationServerMap: ServerMap = { -} diff --git a/apps/web/src/types/generated/common.ts b/apps/web/src/types/generated/common.ts deleted file mode 100644 index f634a20e1..000000000 --- a/apps/web/src/types/generated/common.ts +++ /dev/null @@ -1,113 +0,0 @@ -/* tslint:disable */ -/* eslint-disable */ -/** - * Veza Backend API - * Backend API for Veza platform. - * - * The version of the OpenAPI document: 1.2.0 - * Contact: support@veza.app - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -import type { Configuration } from "./configuration"; -import type { RequestArgs } from "./base"; -import type { AxiosInstance, AxiosResponse } from 'axios'; -import { RequiredError } from "./base"; - -export const DUMMY_BASE_URL = 'https://example.com' - -/** - * - * @throws {RequiredError} - */ -export const assertParamExists = function (functionName: string, paramName: string, paramValue: unknown) { - if (paramValue === null || paramValue === undefined) { - throw new RequiredError(paramName, `Required parameter ${paramName} was null or undefined when calling ${functionName}.`); - } -} - -export const setApiKeyToObject = async function (object: any, keyParamName: string, configuration?: Configuration) { - if (configuration && configuration.apiKey) { - const localVarApiKeyValue = typeof configuration.apiKey === 'function' - ? await configuration.apiKey(keyParamName) - : await configuration.apiKey; - object[keyParamName] = localVarApiKeyValue; - } -} - -export const setBasicAuthToObject = function (object: any, configuration?: Configuration) { - if (configuration && (configuration.username || configuration.password)) { - object["auth"] = { username: configuration.username, password: configuration.password }; - } -} - -export const setBearerAuthToObject = async function (object: any, configuration?: Configuration) { - if (configuration && configuration.accessToken) { - const accessToken = typeof configuration.accessToken === 'function' - ? await configuration.accessToken() - : await configuration.accessToken; - object["Authorization"] = "Bearer " + accessToken; - } -} - -export const setOAuthToObject = async function (object: any, name: string, scopes: string[], configuration?: Configuration) { - if (configuration && configuration.accessToken) { - const localVarAccessTokenValue = typeof configuration.accessToken === 'function' - ? await configuration.accessToken(name, scopes) - : await configuration.accessToken; - object["Authorization"] = "Bearer " + localVarAccessTokenValue; - } -} - - -function setFlattenedQueryParams(urlSearchParams: URLSearchParams, parameter: any, key: string = ""): void { - if (parameter == null) return; - if (typeof parameter === "object") { - if (Array.isArray(parameter)) { - (parameter as any[]).forEach(item => setFlattenedQueryParams(urlSearchParams, item, key)); - } - else { - Object.keys(parameter).forEach(currentKey => - setFlattenedQueryParams(urlSearchParams, parameter[currentKey], `${key}${key !== '' ? '.' : ''}${currentKey}`) - ); - } - } - else { - if (urlSearchParams.has(key)) { - urlSearchParams.append(key, parameter); - } - else { - urlSearchParams.set(key, parameter); - } - } -} - -export const setSearchParams = function (url: URL, ...objects: any[]) { - const searchParams = new URLSearchParams(url.search); - setFlattenedQueryParams(searchParams, objects); - url.search = searchParams.toString(); -} - -export const serializeDataIfNeeded = function (value: any, requestOptions: any, configuration?: Configuration) { - const nonString = typeof value !== 'string'; - const needsSerialization = nonString && configuration && configuration.isJsonMime - ? configuration.isJsonMime(requestOptions.headers['Content-Type']) - : nonString; - return needsSerialization - ? JSON.stringify(value !== undefined ? value : {}) - : (value || ""); -} - -export const toPathString = function (url: URL) { - return url.pathname + url.search + url.hash -} - -export const createRequestFunction = function (axiosArgs: RequestArgs, globalAxios: AxiosInstance, BASE_PATH: string, configuration?: Configuration) { - return >(axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => { - const axiosRequestArgs = {...axiosArgs.options, url: (axios.defaults.baseURL ? '' : configuration?.basePath ?? basePath) + axiosArgs.url}; - return axios.request(axiosRequestArgs); - }; -} diff --git a/apps/web/src/types/generated/configuration.ts b/apps/web/src/types/generated/configuration.ts deleted file mode 100644 index c30a77acf..000000000 --- a/apps/web/src/types/generated/configuration.ts +++ /dev/null @@ -1,121 +0,0 @@ -/* tslint:disable */ -/** - * Veza Backend API - * Backend API for Veza platform. - * - * The version of the OpenAPI document: 1.2.0 - * Contact: support@veza.app - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - */ - -interface AWSv4Configuration { - options?: { - region?: string - service?: string - } - credentials?: { - accessKeyId?: string - secretAccessKey?: string, - sessionToken?: string - } -} - -export interface ConfigurationParameters { - apiKey?: string | Promise | ((name: string) => string) | ((name: string) => Promise); - username?: string; - password?: string; - accessToken?: string | Promise | ((name?: string, scopes?: string[]) => string) | ((name?: string, scopes?: string[]) => Promise); - awsv4?: AWSv4Configuration; - basePath?: string; - serverIndex?: number; - baseOptions?: any; - formDataCtor?: new () => any; -} - -export class Configuration { - /** - * parameter for apiKey security - * @param name security name - */ - apiKey?: string | Promise | ((name: string) => string) | ((name: string) => Promise); - /** - * parameter for basic security - */ - username?: string; - /** - * parameter for basic security - */ - password?: string; - /** - * parameter for oauth2 security - * @param name security name - * @param scopes oauth2 scope - */ - accessToken?: string | Promise | ((name?: string, scopes?: string[]) => string) | ((name?: string, scopes?: string[]) => Promise); - /** - * parameter for aws4 signature security - * @param {Object} AWS4Signature - AWS4 Signature security - * @param {string} options.region - aws region - * @param {string} options.service - name of the service. - * @param {string} credentials.accessKeyId - aws access key id - * @param {string} credentials.secretAccessKey - aws access key - * @param {string} credentials.sessionToken - aws session token - * @memberof Configuration - */ - awsv4?: AWSv4Configuration; - /** - * override base path - */ - basePath?: string; - /** - * override server index - */ - serverIndex?: number; - /** - * base options for axios calls - */ - baseOptions?: any; - /** - * The FormData constructor that will be used to create multipart form data - * requests. You can inject this here so that execution environments that - * do not support the FormData class can still run the generated client. - * - * @type {new () => FormData} - */ - formDataCtor?: new () => any; - - constructor(param: ConfigurationParameters = {}) { - this.apiKey = param.apiKey; - this.username = param.username; - this.password = param.password; - this.accessToken = param.accessToken; - this.awsv4 = param.awsv4; - this.basePath = param.basePath; - this.serverIndex = param.serverIndex; - this.baseOptions = { - ...param.baseOptions, - headers: { - ...param.baseOptions?.headers, - }, - }; - this.formDataCtor = param.formDataCtor; - } - - /** - * Check if the given MIME is a JSON MIME. - * JSON MIME examples: - * application/json - * application/json; charset=UTF8 - * APPLICATION/JSON - * application/vnd.company+json - * @param mime - MIME (Multipurpose Internet Mail Extensions) - * @return True if the given MIME is JSON, false otherwise. - */ - public isJsonMime(mime: string): boolean { - const jsonMime: RegExp = new RegExp('^(application\/json|[^;/ \t]+\/[^;/ \t]+[+]json)[ \t]*(;.*)?$', 'i'); - return mime !== null && (jsonMime.test(mime) || mime.toLowerCase() === 'application/json-patch+json'); - } -} diff --git a/apps/web/src/types/generated/docs/AnalyticsApi.md b/apps/web/src/types/generated/docs/AnalyticsApi.md deleted file mode 100644 index 897cd58dc..000000000 --- a/apps/web/src/types/generated/docs/AnalyticsApi.md +++ /dev/null @@ -1,473 +0,0 @@ -# AnalyticsApi - -All URIs are relative to *http://localhost:8080/api/v1* - -|Method | HTTP request | Description| -|------------- | ------------- | -------------| -|[**analyticsEventsPost**](#analyticseventspost) | **POST** /analytics/events | Record Analytics Event| -|[**analyticsGet**](#analyticsget) | **GET** /analytics | Get Analytics Data| -|[**analyticsTracksIdGet**](#analyticstracksidget) | **GET** /analytics/tracks/{id} | Get Track Analytics Dashboard| -|[**analyticsTracksTopGet**](#analyticstrackstopget) | **GET** /analytics/tracks/top | Get top tracks| -|[**tracksIdAnalyticsPlaysGet**](#tracksidanalyticsplaysget) | **GET** /tracks/{id}/analytics/plays | Get plays over time| -|[**tracksIdPlayPost**](#tracksidplaypost) | **POST** /tracks/{id}/play | Record play| -|[**tracksIdStatsGet**](#tracksidstatsget) | **GET** /tracks/{id}/stats | Get track statistics| -|[**usersIdAnalyticsStatsGet**](#usersidanalyticsstatsget) | **GET** /users/{id}/analytics/stats | Get user statistics| - -# **analyticsEventsPost** -> AnalyticsEventsPost200Response analyticsEventsPost(request) - -Record a custom analytics event - -### Example - -```typescript -import { - AnalyticsApi, - Configuration, - InternalHandlersRecordEventRequest -} from './api'; - -const configuration = new Configuration(); -const apiInstance = new AnalyticsApi(configuration); - -let request: InternalHandlersRecordEventRequest; //Event Data - -const { status, data } = await apiInstance.analyticsEventsPost( - request -); -``` - -### Parameters - -|Name | Type | Description | Notes| -|------------- | ------------- | ------------- | -------------| -| **request** | **InternalHandlersRecordEventRequest**| Event Data | | - - -### Return type - -**AnalyticsEventsPost200Response** - -### Authorization - -[BearerAuth](../README.md#BearerAuth) - -### HTTP request headers - - - **Content-Type**: application/json - - **Accept**: application/json - - -### HTTP response details -| Status code | Description | Response headers | -|-------------|-------------|------------------| -|**200** | OK | - | -|**400** | Validation Error | - | -|**401** | Unauthorized | - | -|**500** | Internal Error | - | - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **analyticsGet** -> AnalyticsGet200Response analyticsGet() - -Get aggregated analytics data for tracks and playlists - -### Example - -```typescript -import { - AnalyticsApi, - Configuration -} from './api'; - -const configuration = new Configuration(); -const apiInstance = new AnalyticsApi(configuration); - -let days: number; //Number of days (default: 30) (optional) (default to undefined) -let startDate: string; //Start date (ISO 8601) (optional) (default to undefined) -let endDate: string; //End date (ISO 8601) (optional) (default to undefined) - -const { status, data } = await apiInstance.analyticsGet( - days, - startDate, - endDate -); -``` - -### Parameters - -|Name | Type | Description | Notes| -|------------- | ------------- | ------------- | -------------| -| **days** | [**number**] | Number of days (default: 30) | (optional) defaults to undefined| -| **startDate** | [**string**] | Start date (ISO 8601) | (optional) defaults to undefined| -| **endDate** | [**string**] | End date (ISO 8601) | (optional) defaults to undefined| - - -### Return type - -**AnalyticsGet200Response** - -### Authorization - -[BearerAuth](../README.md#BearerAuth) - -### HTTP request headers - - - **Content-Type**: Not defined - - **Accept**: application/json - - -### HTTP response details -| Status code | Description | Response headers | -|-------------|-------------|------------------| -|**200** | OK | - | -|**401** | Unauthorized | - | -|**500** | Internal Error | - | - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **analyticsTracksIdGet** -> AnalyticsTracksIdGet200Response analyticsTracksIdGet() - -Get comprehensive analytics dashboard for a track - -### Example - -```typescript -import { - AnalyticsApi, - Configuration -} from './api'; - -const configuration = new Configuration(); -const apiInstance = new AnalyticsApi(configuration); - -let id: string; //Track ID (default to undefined) - -const { status, data } = await apiInstance.analyticsTracksIdGet( - id -); -``` - -### Parameters - -|Name | Type | Description | Notes| -|------------- | ------------- | ------------- | -------------| -| **id** | [**string**] | Track ID | defaults to undefined| - - -### Return type - -**AnalyticsTracksIdGet200Response** - -### Authorization - -[BearerAuth](../README.md#BearerAuth) - -### HTTP request headers - - - **Content-Type**: Not defined - - **Accept**: application/json - - -### HTTP response details -| Status code | Description | Response headers | -|-------------|-------------|------------------| -|**200** | OK | - | -|**400** | Validation Error | - | -|**404** | Track not found | - | -|**500** | Internal Error | - | - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **analyticsTracksTopGet** -> AnalyticsTracksTopGet200Response analyticsTracksTopGet() - -Get list of top tracks by play count, optionally filtered by date range - -### Example - -```typescript -import { - AnalyticsApi, - Configuration -} from './api'; - -const configuration = new Configuration(); -const apiInstance = new AnalyticsApi(configuration); - -let limit: number; //Number of tracks to return (optional) (default to 10) -let startDate: string; //Start date filter (RFC3339 format) (optional) (default to undefined) -let endDate: string; //End date filter (RFC3339 format) (optional) (default to undefined) - -const { status, data } = await apiInstance.analyticsTracksTopGet( - limit, - startDate, - endDate -); -``` - -### Parameters - -|Name | Type | Description | Notes| -|------------- | ------------- | ------------- | -------------| -| **limit** | [**number**] | Number of tracks to return | (optional) defaults to 10| -| **startDate** | [**string**] | Start date filter (RFC3339 format) | (optional) defaults to undefined| -| **endDate** | [**string**] | End date filter (RFC3339 format) | (optional) defaults to undefined| - - -### Return type - -**AnalyticsTracksTopGet200Response** - -### Authorization - -No authorization required - -### HTTP request headers - - - **Content-Type**: Not defined - - **Accept**: application/json - - -### HTTP response details -| Status code | Description | Response headers | -|-------------|-------------|------------------| -|**200** | OK | - | -|**400** | Validation error | - | -|**500** | Internal server error | - | - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **tracksIdAnalyticsPlaysGet** -> TracksIdAnalyticsPlaysGet200Response tracksIdAnalyticsPlaysGet() - -Get play statistics over time for a track, grouped by time period - -### Example - -```typescript -import { - AnalyticsApi, - Configuration -} from './api'; - -const configuration = new Configuration(); -const apiInstance = new AnalyticsApi(configuration); - -let id: string; //Track ID (UUID) (default to undefined) -let startDate: string; //Start date (RFC3339 format) (optional) (default to undefined) -let endDate: string; //End date (RFC3339 format) (optional) (default to undefined) -let interval: string; //Time period grouping (hour, day, week, month) (optional) (default to 'day') - -const { status, data } = await apiInstance.tracksIdAnalyticsPlaysGet( - id, - startDate, - endDate, - interval -); -``` - -### Parameters - -|Name | Type | Description | Notes| -|------------- | ------------- | ------------- | -------------| -| **id** | [**string**] | Track ID (UUID) | defaults to undefined| -| **startDate** | [**string**] | Start date (RFC3339 format) | (optional) defaults to undefined| -| **endDate** | [**string**] | End date (RFC3339 format) | (optional) defaults to undefined| -| **interval** | [**string**] | Time period grouping (hour, day, week, month) | (optional) defaults to 'day'| - - -### Return type - -**TracksIdAnalyticsPlaysGet200Response** - -### Authorization - -No authorization required - -### HTTP request headers - - - **Content-Type**: Not defined - - **Accept**: application/json - - -### HTTP response details -| Status code | Description | Response headers | -|-------------|-------------|------------------| -|**200** | OK | - | -|**400** | Validation error | - | -|**404** | Track not found | - | -|**500** | Internal server error | - | - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **tracksIdPlayPost** -> AnalyticsEventsPost200Response tracksIdPlayPost(request) - -Record a play event for a track. Can be called anonymously or with authentication. - -### Example - -```typescript -import { - AnalyticsApi, - Configuration, - InternalHandlersRecordPlayRequest -} from './api'; - -const configuration = new Configuration(); -const apiInstance = new AnalyticsApi(configuration); - -let id: string; //Track ID (UUID) (default to undefined) -let request: InternalHandlersRecordPlayRequest; //Play event data - -const { status, data } = await apiInstance.tracksIdPlayPost( - id, - request -); -``` - -### Parameters - -|Name | Type | Description | Notes| -|------------- | ------------- | ------------- | -------------| -| **request** | **InternalHandlersRecordPlayRequest**| Play event data | | -| **id** | [**string**] | Track ID (UUID) | defaults to undefined| - - -### Return type - -**AnalyticsEventsPost200Response** - -### Authorization - -No authorization required - -### HTTP request headers - - - **Content-Type**: application/json - - **Accept**: application/json - - -### HTTP response details -| Status code | Description | Response headers | -|-------------|-------------|------------------| -|**200** | OK | - | -|**400** | Validation error | - | -|**404** | Track not found | - | -|**500** | Internal server error | - | - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **tracksIdStatsGet** -> AuditStatsGet200Response tracksIdStatsGet() - -Get statistics for a track (plays, likes, etc.) - -### Example - -```typescript -import { - AnalyticsApi, - Configuration -} from './api'; - -const configuration = new Configuration(); -const apiInstance = new AnalyticsApi(configuration); - -let id: string; //Track ID (UUID) (default to undefined) - -const { status, data } = await apiInstance.tracksIdStatsGet( - id -); -``` - -### Parameters - -|Name | Type | Description | Notes| -|------------- | ------------- | ------------- | -------------| -| **id** | [**string**] | Track ID (UUID) | defaults to undefined| - - -### Return type - -**AuditStatsGet200Response** - -### Authorization - -No authorization required - -### HTTP request headers - - - **Content-Type**: Not defined - - **Accept**: application/json - - -### HTTP response details -| Status code | Description | Response headers | -|-------------|-------------|------------------| -|**200** | OK | - | -|**400** | Validation error | - | -|**404** | Track not found | - | -|**500** | Internal server error | - | - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **usersIdAnalyticsStatsGet** -> AuditStatsGet200Response usersIdAnalyticsStatsGet() - -Get analytics statistics for a user (total plays, tracks, etc.) - -### Example - -```typescript -import { - AnalyticsApi, - Configuration -} from './api'; - -const configuration = new Configuration(); -const apiInstance = new AnalyticsApi(configuration); - -let id: string; //User ID (UUID) (default to undefined) - -const { status, data } = await apiInstance.usersIdAnalyticsStatsGet( - id -); -``` - -### Parameters - -|Name | Type | Description | Notes| -|------------- | ------------- | ------------- | -------------| -| **id** | [**string**] | User ID (UUID) | defaults to undefined| - - -### Return type - -**AuditStatsGet200Response** - -### Authorization - -[BearerAuth](../README.md#BearerAuth) - -### HTTP request headers - - - **Content-Type**: Not defined - - **Accept**: application/json - - -### HTTP response details -| Status code | Description | Response headers | -|-------------|-------------|------------------| -|**200** | OK | - | -|**400** | Validation error | - | -|**401** | Unauthorized | - | -|**403** | Forbidden - can only view own stats | - | -|**404** | User not found | - | -|**500** | Internal server error | - | - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - diff --git a/apps/web/src/types/generated/docs/AnalyticsEventsPost200Response.md b/apps/web/src/types/generated/docs/AnalyticsEventsPost200Response.md deleted file mode 100644 index 5c3f2cda6..000000000 --- a/apps/web/src/types/generated/docs/AnalyticsEventsPost200Response.md +++ /dev/null @@ -1,24 +0,0 @@ -# AnalyticsEventsPost200Response - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**data** | [**AnalyticsEventsPost200ResponseAllOfData**](AnalyticsEventsPost200ResponseAllOfData.md) | | [optional] [default to undefined] -**error** | **object** | | [optional] [default to undefined] -**success** | **boolean** | | [optional] [default to undefined] - -## Example - -```typescript -import { AnalyticsEventsPost200Response } from './api'; - -const instance: AnalyticsEventsPost200Response = { - data, - error, - success, -}; -``` - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/apps/web/src/types/generated/docs/AnalyticsEventsPost200ResponseAllOfData.md b/apps/web/src/types/generated/docs/AnalyticsEventsPost200ResponseAllOfData.md deleted file mode 100644 index 8b7e70656..000000000 --- a/apps/web/src/types/generated/docs/AnalyticsEventsPost200ResponseAllOfData.md +++ /dev/null @@ -1,20 +0,0 @@ -# AnalyticsEventsPost200ResponseAllOfData - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**message** | **string** | | [optional] [default to undefined] - -## Example - -```typescript -import { AnalyticsEventsPost200ResponseAllOfData } from './api'; - -const instance: AnalyticsEventsPost200ResponseAllOfData = { - message, -}; -``` - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/apps/web/src/types/generated/docs/AnalyticsGet200Response.md b/apps/web/src/types/generated/docs/AnalyticsGet200Response.md deleted file mode 100644 index 02185344b..000000000 --- a/apps/web/src/types/generated/docs/AnalyticsGet200Response.md +++ /dev/null @@ -1,24 +0,0 @@ -# AnalyticsGet200Response - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**data** | [**AnalyticsGet200ResponseAllOfData**](AnalyticsGet200ResponseAllOfData.md) | | [optional] [default to undefined] -**error** | **object** | | [optional] [default to undefined] -**success** | **boolean** | | [optional] [default to undefined] - -## Example - -```typescript -import { AnalyticsGet200Response } from './api'; - -const instance: AnalyticsGet200Response = { - data, - error, - success, -}; -``` - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/apps/web/src/types/generated/docs/AnalyticsGet200ResponseAllOfData.md b/apps/web/src/types/generated/docs/AnalyticsGet200ResponseAllOfData.md deleted file mode 100644 index 3bd998f16..000000000 --- a/apps/web/src/types/generated/docs/AnalyticsGet200ResponseAllOfData.md +++ /dev/null @@ -1,24 +0,0 @@ -# AnalyticsGet200ResponseAllOfData - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**period** | **object** | | [optional] [default to undefined] -**playlists** | **object** | | [optional] [default to undefined] -**tracks** | **object** | | [optional] [default to undefined] - -## Example - -```typescript -import { AnalyticsGet200ResponseAllOfData } from './api'; - -const instance: AnalyticsGet200ResponseAllOfData = { - period, - playlists, - tracks, -}; -``` - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/apps/web/src/types/generated/docs/AnalyticsTracksIdGet200Response.md b/apps/web/src/types/generated/docs/AnalyticsTracksIdGet200Response.md deleted file mode 100644 index 89abfeaa2..000000000 --- a/apps/web/src/types/generated/docs/AnalyticsTracksIdGet200Response.md +++ /dev/null @@ -1,24 +0,0 @@ -# AnalyticsTracksIdGet200Response - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**data** | [**AnalyticsTracksIdGet200ResponseAllOfData**](AnalyticsTracksIdGet200ResponseAllOfData.md) | | [optional] [default to undefined] -**error** | **object** | | [optional] [default to undefined] -**success** | **boolean** | | [optional] [default to undefined] - -## Example - -```typescript -import { AnalyticsTracksIdGet200Response } from './api'; - -const instance: AnalyticsTracksIdGet200Response = { - data, - error, - success, -}; -``` - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/apps/web/src/types/generated/docs/AnalyticsTracksIdGet200ResponseAllOfData.md b/apps/web/src/types/generated/docs/AnalyticsTracksIdGet200ResponseAllOfData.md deleted file mode 100644 index 0f71cc5e3..000000000 --- a/apps/web/src/types/generated/docs/AnalyticsTracksIdGet200ResponseAllOfData.md +++ /dev/null @@ -1,20 +0,0 @@ -# AnalyticsTracksIdGet200ResponseAllOfData - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**dashboard** | **object** | | [optional] [default to undefined] - -## Example - -```typescript -import { AnalyticsTracksIdGet200ResponseAllOfData } from './api'; - -const instance: AnalyticsTracksIdGet200ResponseAllOfData = { - dashboard, -}; -``` - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/apps/web/src/types/generated/docs/AnalyticsTracksTopGet200Response.md b/apps/web/src/types/generated/docs/AnalyticsTracksTopGet200Response.md deleted file mode 100644 index 4a3b5403d..000000000 --- a/apps/web/src/types/generated/docs/AnalyticsTracksTopGet200Response.md +++ /dev/null @@ -1,24 +0,0 @@ -# AnalyticsTracksTopGet200Response - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**data** | [**AnalyticsTracksTopGet200ResponseAllOfData**](AnalyticsTracksTopGet200ResponseAllOfData.md) | | [optional] [default to undefined] -**error** | **object** | | [optional] [default to undefined] -**success** | **boolean** | | [optional] [default to undefined] - -## Example - -```typescript -import { AnalyticsTracksTopGet200Response } from './api'; - -const instance: AnalyticsTracksTopGet200Response = { - data, - error, - success, -}; -``` - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/apps/web/src/types/generated/docs/AnalyticsTracksTopGet200ResponseAllOfData.md b/apps/web/src/types/generated/docs/AnalyticsTracksTopGet200ResponseAllOfData.md deleted file mode 100644 index 9ccf0aaf5..000000000 --- a/apps/web/src/types/generated/docs/AnalyticsTracksTopGet200ResponseAllOfData.md +++ /dev/null @@ -1,20 +0,0 @@ -# AnalyticsTracksTopGet200ResponseAllOfData - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**tracks** | **Array<string>** | | [optional] [default to undefined] - -## Example - -```typescript -import { AnalyticsTracksTopGet200ResponseAllOfData } from './api'; - -const instance: AnalyticsTracksTopGet200ResponseAllOfData = { - tracks, -}; -``` - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/apps/web/src/types/generated/docs/ApiV1DashboardGet200Response.md b/apps/web/src/types/generated/docs/ApiV1DashboardGet200Response.md deleted file mode 100644 index df0aa2e08..000000000 --- a/apps/web/src/types/generated/docs/ApiV1DashboardGet200Response.md +++ /dev/null @@ -1,24 +0,0 @@ -# ApiV1DashboardGet200Response - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**data** | [**InternalHandlersDashboardResponse**](InternalHandlersDashboardResponse.md) | | [optional] [default to undefined] -**error** | **object** | | [optional] [default to undefined] -**success** | **boolean** | | [optional] [default to undefined] - -## Example - -```typescript -import { ApiV1DashboardGet200Response } from './api'; - -const instance: ApiV1DashboardGet200Response = { - data, - error, - success, -}; -``` - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/apps/web/src/types/generated/docs/ApiV1LogsFrontendPost200Response.md b/apps/web/src/types/generated/docs/ApiV1LogsFrontendPost200Response.md deleted file mode 100644 index 2c527cb30..000000000 --- a/apps/web/src/types/generated/docs/ApiV1LogsFrontendPost200Response.md +++ /dev/null @@ -1,24 +0,0 @@ -# ApiV1LogsFrontendPost200Response - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**data** | [**ApiV1LogsFrontendPost200ResponseAllOfData**](ApiV1LogsFrontendPost200ResponseAllOfData.md) | | [optional] [default to undefined] -**error** | **object** | | [optional] [default to undefined] -**success** | **boolean** | | [optional] [default to undefined] - -## Example - -```typescript -import { ApiV1LogsFrontendPost200Response } from './api'; - -const instance: ApiV1LogsFrontendPost200Response = { - data, - error, - success, -}; -``` - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/apps/web/src/types/generated/docs/ApiV1LogsFrontendPost200ResponseAllOfData.md b/apps/web/src/types/generated/docs/ApiV1LogsFrontendPost200ResponseAllOfData.md deleted file mode 100644 index 7d006d796..000000000 --- a/apps/web/src/types/generated/docs/ApiV1LogsFrontendPost200ResponseAllOfData.md +++ /dev/null @@ -1,20 +0,0 @@ -# ApiV1LogsFrontendPost200ResponseAllOfData - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**received** | **boolean** | | [optional] [default to undefined] - -## Example - -```typescript -import { ApiV1LogsFrontendPost200ResponseAllOfData } from './api'; - -const instance: ApiV1LogsFrontendPost200ResponseAllOfData = { - received, -}; -``` - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/apps/web/src/types/generated/docs/AuditActivityGet200Response.md b/apps/web/src/types/generated/docs/AuditActivityGet200Response.md deleted file mode 100644 index e7dd61bcc..000000000 --- a/apps/web/src/types/generated/docs/AuditActivityGet200Response.md +++ /dev/null @@ -1,24 +0,0 @@ -# AuditActivityGet200Response - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**data** | [**AuditActivityGet200ResponseAllOfData**](AuditActivityGet200ResponseAllOfData.md) | | [optional] [default to undefined] -**error** | **object** | | [optional] [default to undefined] -**success** | **boolean** | | [optional] [default to undefined] - -## Example - -```typescript -import { AuditActivityGet200Response } from './api'; - -const instance: AuditActivityGet200Response = { - data, - error, - success, -}; -``` - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/apps/web/src/types/generated/docs/AuditActivityGet200ResponseAllOfData.md b/apps/web/src/types/generated/docs/AuditActivityGet200ResponseAllOfData.md deleted file mode 100644 index 68767ba39..000000000 --- a/apps/web/src/types/generated/docs/AuditActivityGet200ResponseAllOfData.md +++ /dev/null @@ -1,20 +0,0 @@ -# AuditActivityGet200ResponseAllOfData - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**activities** | **Array<string>** | | [optional] [default to undefined] - -## Example - -```typescript -import { AuditActivityGet200ResponseAllOfData } from './api'; - -const instance: AuditActivityGet200ResponseAllOfData = { - activities, -}; -``` - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/apps/web/src/types/generated/docs/AuditApi.md b/apps/web/src/types/generated/docs/AuditApi.md deleted file mode 100644 index 4b313ca69..000000000 --- a/apps/web/src/types/generated/docs/AuditApi.md +++ /dev/null @@ -1,201 +0,0 @@ -# AuditApi - -All URIs are relative to *http://localhost:18080/api/v1* - -|Method | HTTP request | Description| -|------------- | ------------- | -------------| -|[**auditActivityGet**](#auditactivityget) | **GET** /audit/activity | Get user activity| -|[**auditLogsGet**](#auditlogsget) | **GET** /audit/logs | Search audit logs| -|[**auditStatsGet**](#auditstatsget) | **GET** /audit/stats | Get audit statistics| - -# **auditActivityGet** -> AuditActivityGet200Response auditActivityGet() - -Get recent activity logs for the current user - -### Example - -```typescript -import { - AuditApi, - Configuration -} from './api'; - -const configuration = new Configuration(); -const apiInstance = new AuditApi(configuration); - -let limit: number; //Number of activities to return (optional) (default to 50) - -const { status, data } = await apiInstance.auditActivityGet( - limit -); -``` - -### Parameters - -|Name | Type | Description | Notes| -|------------- | ------------- | ------------- | -------------| -| **limit** | [**number**] | Number of activities to return | (optional) defaults to 50| - - -### Return type - -**AuditActivityGet200Response** - -### Authorization - -[BearerAuth](../README.md#BearerAuth) - -### HTTP request headers - - - **Content-Type**: Not defined - - **Accept**: application/json - - -### HTTP response details -| Status code | Description | Response headers | -|-------------|-------------|------------------| -|**200** | OK | - | -|**401** | Unauthorized | - | -|**500** | Internal server error | - | - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **auditLogsGet** -> AuditLogsGet200Response auditLogsGet() - -Search and filter audit logs with pagination support. Supports filtering by action, resource, date range, IP address, and user agent. - -### Example - -```typescript -import { - AuditApi, - Configuration -} from './api'; - -const configuration = new Configuration(); -const apiInstance = new AuditApi(configuration); - -let action: string; //Filter by action type (optional) (default to undefined) -let resource: string; //Filter by resource type (optional) (default to undefined) -let resourceId: string; //Filter by resource ID (UUID) (optional) (default to undefined) -let ipAddress: string; //Filter by IP address (optional) (default to undefined) -let userAgent: string; //Filter by user agent (optional) (default to undefined) -let startDate: string; //Start date filter (YYYY-MM-DD) (optional) (default to undefined) -let endDate: string; //End date filter (YYYY-MM-DD) (optional) (default to undefined) -let page: number; //Page number (optional) (default to 1) -let limit: number; //Items per page (optional) (default to 20) -let offset: number; //Offset for pagination (optional) (default to undefined) - -const { status, data } = await apiInstance.auditLogsGet( - action, - resource, - resourceId, - ipAddress, - userAgent, - startDate, - endDate, - page, - limit, - offset -); -``` - -### Parameters - -|Name | Type | Description | Notes| -|------------- | ------------- | ------------- | -------------| -| **action** | [**string**] | Filter by action type | (optional) defaults to undefined| -| **resource** | [**string**] | Filter by resource type | (optional) defaults to undefined| -| **resourceId** | [**string**] | Filter by resource ID (UUID) | (optional) defaults to undefined| -| **ipAddress** | [**string**] | Filter by IP address | (optional) defaults to undefined| -| **userAgent** | [**string**] | Filter by user agent | (optional) defaults to undefined| -| **startDate** | [**string**] | Start date filter (YYYY-MM-DD) | (optional) defaults to undefined| -| **endDate** | [**string**] | End date filter (YYYY-MM-DD) | (optional) defaults to undefined| -| **page** | [**number**] | Page number | (optional) defaults to 1| -| **limit** | [**number**] | Items per page | (optional) defaults to 20| -| **offset** | [**number**] | Offset for pagination | (optional) defaults to undefined| - - -### Return type - -**AuditLogsGet200Response** - -### Authorization - -[BearerAuth](../README.md#BearerAuth) - -### HTTP request headers - - - **Content-Type**: Not defined - - **Accept**: application/json - - -### HTTP response details -| Status code | Description | Response headers | -|-------------|-------------|------------------| -|**200** | OK | - | -|**400** | Validation error | - | -|**401** | Unauthorized | - | -|**500** | Internal server error | - | - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **auditStatsGet** -> AuditStatsGet200Response auditStatsGet() - -Get audit statistics for the current user, optionally filtered by date range - -### Example - -```typescript -import { - AuditApi, - Configuration -} from './api'; - -const configuration = new Configuration(); -const apiInstance = new AuditApi(configuration); - -let startDate: string; //Start date (YYYY-MM-DD) (optional) (default to undefined) -let endDate: string; //End date (YYYY-MM-DD) (optional) (default to undefined) - -const { status, data } = await apiInstance.auditStatsGet( - startDate, - endDate -); -``` - -### Parameters - -|Name | Type | Description | Notes| -|------------- | ------------- | ------------- | -------------| -| **startDate** | [**string**] | Start date (YYYY-MM-DD) | (optional) defaults to undefined| -| **endDate** | [**string**] | End date (YYYY-MM-DD) | (optional) defaults to undefined| - - -### Return type - -**AuditStatsGet200Response** - -### Authorization - -[BearerAuth](../README.md#BearerAuth) - -### HTTP request headers - - - **Content-Type**: Not defined - - **Accept**: application/json - - -### HTTP response details -| Status code | Description | Response headers | -|-------------|-------------|------------------| -|**200** | OK | - | -|**400** | Validation error | - | -|**401** | Unauthorized | - | -|**500** | Internal server error | - | - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - diff --git a/apps/web/src/types/generated/docs/AuditLogsGet200Response.md b/apps/web/src/types/generated/docs/AuditLogsGet200Response.md deleted file mode 100644 index 6cd744269..000000000 --- a/apps/web/src/types/generated/docs/AuditLogsGet200Response.md +++ /dev/null @@ -1,24 +0,0 @@ -# AuditLogsGet200Response - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**data** | [**AuditLogsGet200ResponseAllOfData**](AuditLogsGet200ResponseAllOfData.md) | | [optional] [default to undefined] -**error** | **object** | | [optional] [default to undefined] -**success** | **boolean** | | [optional] [default to undefined] - -## Example - -```typescript -import { AuditLogsGet200Response } from './api'; - -const instance: AuditLogsGet200Response = { - data, - error, - success, -}; -``` - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/apps/web/src/types/generated/docs/AuditLogsGet200ResponseAllOfData.md b/apps/web/src/types/generated/docs/AuditLogsGet200ResponseAllOfData.md deleted file mode 100644 index c66186ab4..000000000 --- a/apps/web/src/types/generated/docs/AuditLogsGet200ResponseAllOfData.md +++ /dev/null @@ -1,22 +0,0 @@ -# AuditLogsGet200ResponseAllOfData - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**logs** | **Array<string>** | | [optional] [default to undefined] -**pagination** | **object** | | [optional] [default to undefined] - -## Example - -```typescript -import { AuditLogsGet200ResponseAllOfData } from './api'; - -const instance: AuditLogsGet200ResponseAllOfData = { - logs, - pagination, -}; -``` - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/apps/web/src/types/generated/docs/AuditStatsGet200Response.md b/apps/web/src/types/generated/docs/AuditStatsGet200Response.md deleted file mode 100644 index f0f5db206..000000000 --- a/apps/web/src/types/generated/docs/AuditStatsGet200Response.md +++ /dev/null @@ -1,24 +0,0 @@ -# AuditStatsGet200Response - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**data** | [**AuditStatsGet200ResponseAllOfData**](AuditStatsGet200ResponseAllOfData.md) | | [optional] [default to undefined] -**error** | **object** | | [optional] [default to undefined] -**success** | **boolean** | | [optional] [default to undefined] - -## Example - -```typescript -import { AuditStatsGet200Response } from './api'; - -const instance: AuditStatsGet200Response = { - data, - error, - success, -}; -``` - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/apps/web/src/types/generated/docs/AuditStatsGet200ResponseAllOfData.md b/apps/web/src/types/generated/docs/AuditStatsGet200ResponseAllOfData.md deleted file mode 100644 index a49d30c48..000000000 --- a/apps/web/src/types/generated/docs/AuditStatsGet200ResponseAllOfData.md +++ /dev/null @@ -1,20 +0,0 @@ -# AuditStatsGet200ResponseAllOfData - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**stats** | **object** | | [optional] [default to undefined] - -## Example - -```typescript -import { AuditStatsGet200ResponseAllOfData } from './api'; - -const instance: AuditStatsGet200ResponseAllOfData = { - stats, -}; -``` - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/apps/web/src/types/generated/docs/Auth2faDisablePost200Response.md b/apps/web/src/types/generated/docs/Auth2faDisablePost200Response.md deleted file mode 100644 index 16d0ed015..000000000 --- a/apps/web/src/types/generated/docs/Auth2faDisablePost200Response.md +++ /dev/null @@ -1,24 +0,0 @@ -# Auth2faDisablePost200Response - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**data** | [**Auth2faDisablePost200ResponseAllOfData**](Auth2faDisablePost200ResponseAllOfData.md) | | [optional] [default to undefined] -**error** | **object** | | [optional] [default to undefined] -**success** | **boolean** | | [optional] [default to undefined] - -## Example - -```typescript -import { Auth2faDisablePost200Response } from './api'; - -const instance: Auth2faDisablePost200Response = { - data, - error, - success, -}; -``` - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/apps/web/src/types/generated/docs/Auth2faDisablePost200ResponseAllOfData.md b/apps/web/src/types/generated/docs/Auth2faDisablePost200ResponseAllOfData.md deleted file mode 100644 index 8378c8742..000000000 --- a/apps/web/src/types/generated/docs/Auth2faDisablePost200ResponseAllOfData.md +++ /dev/null @@ -1,20 +0,0 @@ -# Auth2faDisablePost200ResponseAllOfData - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**message** | **string** | | [optional] [default to undefined] - -## Example - -```typescript -import { Auth2faDisablePost200ResponseAllOfData } from './api'; - -const instance: Auth2faDisablePost200ResponseAllOfData = { - message, -}; -``` - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/apps/web/src/types/generated/docs/Auth2faSetupPost200Response.md b/apps/web/src/types/generated/docs/Auth2faSetupPost200Response.md deleted file mode 100644 index 8a21c5eaf..000000000 --- a/apps/web/src/types/generated/docs/Auth2faSetupPost200Response.md +++ /dev/null @@ -1,24 +0,0 @@ -# Auth2faSetupPost200Response - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**data** | [**InternalHandlersSetupTwoFactorResponse**](InternalHandlersSetupTwoFactorResponse.md) | | [optional] [default to undefined] -**error** | **object** | | [optional] [default to undefined] -**success** | **boolean** | | [optional] [default to undefined] - -## Example - -```typescript -import { Auth2faSetupPost200Response } from './api'; - -const instance: Auth2faSetupPost200Response = { - data, - error, - success, -}; -``` - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/apps/web/src/types/generated/docs/Auth2faStatusGet200Response.md b/apps/web/src/types/generated/docs/Auth2faStatusGet200Response.md deleted file mode 100644 index 1b07ce222..000000000 --- a/apps/web/src/types/generated/docs/Auth2faStatusGet200Response.md +++ /dev/null @@ -1,24 +0,0 @@ -# Auth2faStatusGet200Response - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**data** | [**Auth2faStatusGet200ResponseAllOfData**](Auth2faStatusGet200ResponseAllOfData.md) | | [optional] [default to undefined] -**error** | **object** | | [optional] [default to undefined] -**success** | **boolean** | | [optional] [default to undefined] - -## Example - -```typescript -import { Auth2faStatusGet200Response } from './api'; - -const instance: Auth2faStatusGet200Response = { - data, - error, - success, -}; -``` - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/apps/web/src/types/generated/docs/Auth2faStatusGet200ResponseAllOfData.md b/apps/web/src/types/generated/docs/Auth2faStatusGet200ResponseAllOfData.md deleted file mode 100644 index 64aee4031..000000000 --- a/apps/web/src/types/generated/docs/Auth2faStatusGet200ResponseAllOfData.md +++ /dev/null @@ -1,20 +0,0 @@ -# Auth2faStatusGet200ResponseAllOfData - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**enabled** | **boolean** | | [optional] [default to undefined] - -## Example - -```typescript -import { Auth2faStatusGet200ResponseAllOfData } from './api'; - -const instance: Auth2faStatusGet200ResponseAllOfData = { - enabled, -}; -``` - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/apps/web/src/types/generated/docs/AuthApi.md b/apps/web/src/types/generated/docs/AuthApi.md deleted file mode 100644 index 2a03f00c6..000000000 --- a/apps/web/src/types/generated/docs/AuthApi.md +++ /dev/null @@ -1,690 +0,0 @@ -# AuthApi - -All URIs are relative to *http://localhost:18080/api/v1* - -|Method | HTTP request | Description| -|------------- | ------------- | -------------| -|[**auth2faDisablePost**](#auth2fadisablepost) | **POST** /auth/2fa/disable | Disable 2FA| -|[**auth2faSetupPost**](#auth2fasetuppost) | **POST** /auth/2fa/setup | Setup 2FA| -|[**auth2faStatusGet**](#auth2fastatusget) | **GET** /auth/2fa/status | Get 2FA Status| -|[**auth2faVerifyPost**](#auth2faverifypost) | **POST** /auth/2fa/verify | Verify and Enable 2FA| -|[**authCheckUsernameGet**](#authcheckusernameget) | **GET** /auth/check-username | Check Username Availability| -|[**authLoginPost**](#authloginpost) | **POST** /auth/login | User Login| -|[**authLogoutPost**](#authlogoutpost) | **POST** /auth/logout | Logout| -|[**authMeGet**](#authmeget) | **GET** /auth/me | Get Current User| -|[**authRefreshPost**](#authrefreshpost) | **POST** /auth/refresh | Refresh Token| -|[**authRegisterPost**](#authregisterpost) | **POST** /auth/register | User Registration| -|[**authResendVerificationPost**](#authresendverificationpost) | **POST** /auth/resend-verification | Resend Verification Email| -|[**authStreamTokenPost**](#authstreamtokenpost) | **POST** /auth/stream-token | Get ephemeral stream token| -|[**authVerifyEmailPost**](#authverifyemailpost) | **POST** /auth/verify-email | Verify Email| - -# **auth2faDisablePost** -> Auth2faDisablePost200Response auth2faDisablePost(request) - -Disable 2FA for user (requires password confirmation) - -### Example - -```typescript -import { - AuthApi, - Configuration, - InternalHandlersDisableTwoFactorRequest -} from './api'; - -const configuration = new Configuration(); -const apiInstance = new AuthApi(configuration); - -let request: InternalHandlersDisableTwoFactorRequest; //Password Confirmation - -const { status, data } = await apiInstance.auth2faDisablePost( - request -); -``` - -### Parameters - -|Name | Type | Description | Notes| -|------------- | ------------- | ------------- | -------------| -| **request** | **InternalHandlersDisableTwoFactorRequest**| Password Confirmation | | - - -### Return type - -**Auth2faDisablePost200Response** - -### Authorization - -[BearerAuth](../README.md#BearerAuth) - -### HTTP request headers - - - **Content-Type**: application/json - - **Accept**: application/json - - -### HTTP response details -| Status code | Description | Response headers | -|-------------|-------------|------------------| -|**200** | OK | - | -|**400** | Invalid password or 2FA not enabled | - | -|**401** | Unauthorized | - | -|**500** | Internal Error | - | - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **auth2faSetupPost** -> Auth2faSetupPost200Response auth2faSetupPost() - -Generate 2FA secret and QR code for setup - -### Example - -```typescript -import { - AuthApi, - Configuration -} from './api'; - -const configuration = new Configuration(); -const apiInstance = new AuthApi(configuration); - -const { status, data } = await apiInstance.auth2faSetupPost(); -``` - -### Parameters -This endpoint does not have any parameters. - - -### Return type - -**Auth2faSetupPost200Response** - -### Authorization - -[BearerAuth](../README.md#BearerAuth) - -### HTTP request headers - - - **Content-Type**: Not defined - - **Accept**: application/json - - -### HTTP response details -| Status code | Description | Response headers | -|-------------|-------------|------------------| -|**200** | OK | - | -|**400** | 2FA already enabled | - | -|**401** | Unauthorized | - | -|**500** | Internal Error | - | - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **auth2faStatusGet** -> Auth2faStatusGet200Response auth2faStatusGet() - -Get 2FA enabled status for authenticated user - -### Example - -```typescript -import { - AuthApi, - Configuration -} from './api'; - -const configuration = new Configuration(); -const apiInstance = new AuthApi(configuration); - -const { status, data } = await apiInstance.auth2faStatusGet(); -``` - -### Parameters -This endpoint does not have any parameters. - - -### Return type - -**Auth2faStatusGet200Response** - -### Authorization - -[BearerAuth](../README.md#BearerAuth) - -### HTTP request headers - - - **Content-Type**: Not defined - - **Accept**: application/json - - -### HTTP response details -| Status code | Description | Response headers | -|-------------|-------------|------------------| -|**200** | OK | - | -|**401** | Unauthorized | - | -|**500** | Internal Error | - | - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **auth2faVerifyPost** -> Auth2faDisablePost200Response auth2faVerifyPost(request) - -Verify 2FA code and enable 2FA for user - -### Example - -```typescript -import { - AuthApi, - Configuration, - InternalHandlersVerifyTwoFactorRequest -} from './api'; - -const configuration = new Configuration(); -const apiInstance = new AuthApi(configuration); - -let request: InternalHandlersVerifyTwoFactorRequest; //2FA Code - -const { status, data } = await apiInstance.auth2faVerifyPost( - request -); -``` - -### Parameters - -|Name | Type | Description | Notes| -|------------- | ------------- | ------------- | -------------| -| **request** | **InternalHandlersVerifyTwoFactorRequest**| 2FA Code | | - - -### Return type - -**Auth2faDisablePost200Response** - -### Authorization - -[BearerAuth](../README.md#BearerAuth) - -### HTTP request headers - - - **Content-Type**: application/json - - **Accept**: application/json - - -### HTTP response details -| Status code | Description | Response headers | -|-------------|-------------|------------------| -|**200** | OK | - | -|**400** | Invalid code | - | -|**401** | Unauthorized | - | -|**500** | Internal Error | - | - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **authCheckUsernameGet** -> AuthCheckUsernameGet200Response authCheckUsernameGet() - -Check if a username is already taken - -### Example - -```typescript -import { - AuthApi, - Configuration -} from './api'; - -const configuration = new Configuration(); -const apiInstance = new AuthApi(configuration); - -let username: string; //Username to check (default to undefined) - -const { status, data } = await apiInstance.authCheckUsernameGet( - username -); -``` - -### Parameters - -|Name | Type | Description | Notes| -|------------- | ------------- | ------------- | -------------| -| **username** | [**string**] | Username to check | defaults to undefined| - - -### Return type - -**AuthCheckUsernameGet200Response** - -### Authorization - -No authorization required - -### HTTP request headers - - - **Content-Type**: Not defined - - **Accept**: application/json - - -### HTTP response details -| Status code | Description | Response headers | -|-------------|-------------|------------------| -|**200** | OK | - | -|**400** | Missing Username | - | - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **authLoginPost** -> VezaBackendApiInternalDtoLoginResponse authLoginPost(request) - -Authenticate user and return access token. Refresh token is set in httpOnly cookie. - -### Example - -```typescript -import { - AuthApi, - Configuration, - VezaBackendApiInternalDtoLoginRequest -} from './api'; - -const configuration = new Configuration(); -const apiInstance = new AuthApi(configuration); - -let request: VezaBackendApiInternalDtoLoginRequest; //Login Credentials - -const { status, data } = await apiInstance.authLoginPost( - request -); -``` - -### Parameters - -|Name | Type | Description | Notes| -|------------- | ------------- | ------------- | -------------| -| **request** | **VezaBackendApiInternalDtoLoginRequest**| Login Credentials | | - - -### Return type - -**VezaBackendApiInternalDtoLoginResponse** - -### Authorization - -No authorization required - -### HTTP request headers - - - **Content-Type**: application/json - - **Accept**: application/json - - -### HTTP response details -| Status code | Description | Response headers | -|-------------|-------------|------------------| -|**200** | Access token returned in body, refresh token in httpOnly cookie | - | -|**400** | Validation or Bad Request | - | -|**401** | Invalid credentials | - | -|**500** | Internal Error | - | - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **authLogoutPost** -> InternalHandlersAPIResponse authLogoutPost(request) - -Revoke refresh token and current session - -### Example - -```typescript -import { - AuthApi, - Configuration, - AuthLogoutPostRequest -} from './api'; - -const configuration = new Configuration(); -const apiInstance = new AuthApi(configuration); - -let request: AuthLogoutPostRequest; //Refresh Token to revoke - -const { status, data } = await apiInstance.authLogoutPost( - request -); -``` - -### Parameters - -|Name | Type | Description | Notes| -|------------- | ------------- | ------------- | -------------| -| **request** | **AuthLogoutPostRequest**| Refresh Token to revoke | | - - -### Return type - -**InternalHandlersAPIResponse** - -### Authorization - -[BearerAuth](../README.md#BearerAuth) - -### HTTP request headers - - - **Content-Type**: application/json - - **Accept**: application/json - - -### HTTP response details -| Status code | Description | Response headers | -|-------------|-------------|------------------| -|**200** | Success message | - | -|**400** | Validation Error | - | -|**401** | Unauthorized | - | - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **authMeGet** -> AuthMeGet200Response authMeGet() - -Get profile information of the currently logged-in user - -### Example - -```typescript -import { - AuthApi, - Configuration -} from './api'; - -const configuration = new Configuration(); -const apiInstance = new AuthApi(configuration); - -const { status, data } = await apiInstance.authMeGet(); -``` - -### Parameters -This endpoint does not have any parameters. - - -### Return type - -**AuthMeGet200Response** - -### Authorization - -[BearerAuth](../README.md#BearerAuth) - -### HTTP request headers - - - **Content-Type**: Not defined - - **Accept**: application/json - - -### HTTP response details -| Status code | Description | Response headers | -|-------------|-------------|------------------| -|**200** | OK | - | -|**401** | Unauthorized | - | -|**404** | User not found | - | - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **authRefreshPost** -> VezaBackendApiInternalDtoTokenResponse authRefreshPost(request) - -Get a new access token using a refresh token - -### Example - -```typescript -import { - AuthApi, - Configuration, - VezaBackendApiInternalDtoRefreshRequest -} from './api'; - -const configuration = new Configuration(); -const apiInstance = new AuthApi(configuration); - -let request: VezaBackendApiInternalDtoRefreshRequest; //Refresh Token - -const { status, data } = await apiInstance.authRefreshPost( - request -); -``` - -### Parameters - -|Name | Type | Description | Notes| -|------------- | ------------- | ------------- | -------------| -| **request** | **VezaBackendApiInternalDtoRefreshRequest**| Refresh Token | | - - -### Return type - -**VezaBackendApiInternalDtoTokenResponse** - -### Authorization - -No authorization required - -### HTTP request headers - - - **Content-Type**: application/json - - **Accept**: application/json - - -### HTTP response details -| Status code | Description | Response headers | -|-------------|-------------|------------------| -|**200** | OK | - | -|**400** | Validation Error | - | -|**401** | Invalid/Expired Refresh Token | - | -|**500** | Internal Error | - | - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **authRegisterPost** -> VezaBackendApiInternalDtoRegisterResponse authRegisterPost(request) - -Register a new user account - -### Example - -```typescript -import { - AuthApi, - Configuration, - VezaBackendApiInternalDtoRegisterRequest -} from './api'; - -const configuration = new Configuration(); -const apiInstance = new AuthApi(configuration); - -let request: VezaBackendApiInternalDtoRegisterRequest; //Registration Data - -const { status, data } = await apiInstance.authRegisterPost( - request -); -``` - -### Parameters - -|Name | Type | Description | Notes| -|------------- | ------------- | ------------- | -------------| -| **request** | **VezaBackendApiInternalDtoRegisterRequest**| Registration Data | | - - -### Return type - -**VezaBackendApiInternalDtoRegisterResponse** - -### Authorization - -No authorization required - -### HTTP request headers - - - **Content-Type**: application/json - - **Accept**: application/json - - -### HTTP response details -| Status code | Description | Response headers | -|-------------|-------------|------------------| -|**201** | Created | - | -|**400** | Validation Error | - | -|**409** | User already exists | - | -|**500** | Internal Error | - | - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **authResendVerificationPost** -> InternalHandlersAPIResponse authResendVerificationPost(request) - -Resend the email verification link - -### Example - -```typescript -import { - AuthApi, - Configuration, - VezaBackendApiInternalDtoResendVerificationRequest -} from './api'; - -const configuration = new Configuration(); -const apiInstance = new AuthApi(configuration); - -let request: VezaBackendApiInternalDtoResendVerificationRequest; //Email - -const { status, data } = await apiInstance.authResendVerificationPost( - request -); -``` - -### Parameters - -|Name | Type | Description | Notes| -|------------- | ------------- | ------------- | -------------| -| **request** | **VezaBackendApiInternalDtoResendVerificationRequest**| Email | | - - -### Return type - -**InternalHandlersAPIResponse** - -### Authorization - -No authorization required - -### HTTP request headers - - - **Content-Type**: application/json - - **Accept**: application/json - - -### HTTP response details -| Status code | Description | Response headers | -|-------------|-------------|------------------| -|**200** | Success message | - | -|**400** | Validation Error | - | - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **authStreamTokenPost** -> InternalHandlersStreamTokenResponse authStreamTokenPost() - -Returns a 5-minute JWT for HLS and WebSocket authentication (httpOnly cookies prevent direct token access) - -### Example - -```typescript -import { - AuthApi, - Configuration -} from './api'; - -const configuration = new Configuration(); -const apiInstance = new AuthApi(configuration); - -const { status, data } = await apiInstance.authStreamTokenPost(); -``` - -### Parameters -This endpoint does not have any parameters. - - -### Return type - -**InternalHandlersStreamTokenResponse** - -### Authorization - -[BearerAuth](../README.md#BearerAuth) - -### HTTP request headers - - - **Content-Type**: Not defined - - **Accept**: */* - - -### HTTP response details -| Status code | Description | Response headers | -|-------------|-------------|------------------| -|**200** | OK | - | -|**401** | Unauthorized | - | - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **authVerifyEmailPost** -> InternalHandlersAPIResponse authVerifyEmailPost() - -Verify user email address using a token - -### Example - -```typescript -import { - AuthApi, - Configuration -} from './api'; - -const configuration = new Configuration(); -const apiInstance = new AuthApi(configuration); - -let token: string; //Verification Token (default to undefined) - -const { status, data } = await apiInstance.authVerifyEmailPost( - token -); -``` - -### Parameters - -|Name | Type | Description | Notes| -|------------- | ------------- | ------------- | -------------| -| **token** | [**string**] | Verification Token | defaults to undefined| - - -### Return type - -**InternalHandlersAPIResponse** - -### Authorization - -No authorization required - -### HTTP request headers - - - **Content-Type**: Not defined - - **Accept**: application/json - - -### HTTP response details -| Status code | Description | Response headers | -|-------------|-------------|------------------| -|**200** | Success message | - | -|**400** | Invalid Token | - | - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - diff --git a/apps/web/src/types/generated/docs/AuthCheckUsernameGet200Response.md b/apps/web/src/types/generated/docs/AuthCheckUsernameGet200Response.md deleted file mode 100644 index 875d43b67..000000000 --- a/apps/web/src/types/generated/docs/AuthCheckUsernameGet200Response.md +++ /dev/null @@ -1,24 +0,0 @@ -# AuthCheckUsernameGet200Response - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**data** | [**AuthCheckUsernameGet200ResponseAllOfData**](AuthCheckUsernameGet200ResponseAllOfData.md) | | [optional] [default to undefined] -**error** | **object** | | [optional] [default to undefined] -**success** | **boolean** | | [optional] [default to undefined] - -## Example - -```typescript -import { AuthCheckUsernameGet200Response } from './api'; - -const instance: AuthCheckUsernameGet200Response = { - data, - error, - success, -}; -``` - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/apps/web/src/types/generated/docs/AuthCheckUsernameGet200ResponseAllOfData.md b/apps/web/src/types/generated/docs/AuthCheckUsernameGet200ResponseAllOfData.md deleted file mode 100644 index a7797606d..000000000 --- a/apps/web/src/types/generated/docs/AuthCheckUsernameGet200ResponseAllOfData.md +++ /dev/null @@ -1,22 +0,0 @@ -# AuthCheckUsernameGet200ResponseAllOfData - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**available** | **boolean** | | [optional] [default to undefined] -**username** | **string** | | [optional] [default to undefined] - -## Example - -```typescript -import { AuthCheckUsernameGet200ResponseAllOfData } from './api'; - -const instance: AuthCheckUsernameGet200ResponseAllOfData = { - available, - username, -}; -``` - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/apps/web/src/types/generated/docs/AuthLogoutPostRequest.md b/apps/web/src/types/generated/docs/AuthLogoutPostRequest.md deleted file mode 100644 index fba81583d..000000000 --- a/apps/web/src/types/generated/docs/AuthLogoutPostRequest.md +++ /dev/null @@ -1,20 +0,0 @@ -# AuthLogoutPostRequest - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**refresh_token** | **string** | | [optional] [default to undefined] - -## Example - -```typescript -import { AuthLogoutPostRequest } from './api'; - -const instance: AuthLogoutPostRequest = { - refresh_token, -}; -``` - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/apps/web/src/types/generated/docs/AuthMeGet200Response.md b/apps/web/src/types/generated/docs/AuthMeGet200Response.md deleted file mode 100644 index f0fe348bf..000000000 --- a/apps/web/src/types/generated/docs/AuthMeGet200Response.md +++ /dev/null @@ -1,24 +0,0 @@ -# AuthMeGet200Response - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**data** | **object** | | [optional] [default to undefined] -**error** | **object** | | [optional] [default to undefined] -**success** | **boolean** | | [optional] [default to undefined] - -## Example - -```typescript -import { AuthMeGet200Response } from './api'; - -const instance: AuthMeGet200Response = { - data, - error, - success, -}; -``` - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/apps/web/src/types/generated/docs/ChatApi.md b/apps/web/src/types/generated/docs/ChatApi.md deleted file mode 100644 index 5fd6b7873..000000000 --- a/apps/web/src/types/generated/docs/ChatApi.md +++ /dev/null @@ -1,54 +0,0 @@ -# ChatApi - -All URIs are relative to *http://localhost:18080/api/v1* - -|Method | HTTP request | Description| -|------------- | ------------- | -------------| -|[**chatTokenGet**](#chattokenget) | **GET** /chat/token | Get Chat Token| - -# **chatTokenGet** -> ChatTokenGet200Response chatTokenGet() - -Generate a short-lived token for chat authentication - -### Example - -```typescript -import { - ChatApi, - Configuration -} from './api'; - -const configuration = new Configuration(); -const apiInstance = new ChatApi(configuration); - -const { status, data } = await apiInstance.chatTokenGet(); -``` - -### Parameters -This endpoint does not have any parameters. - - -### Return type - -**ChatTokenGet200Response** - -### Authorization - -[BearerAuth](../README.md#BearerAuth) - -### HTTP request headers - - - **Content-Type**: Not defined - - **Accept**: application/json - - -### HTTP response details -| Status code | Description | Response headers | -|-------------|-------------|------------------| -|**200** | OK | - | -|**401** | Unauthorized | - | -|**500** | Internal Error | - | - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - diff --git a/apps/web/src/types/generated/docs/ChatTokenGet200Response.md b/apps/web/src/types/generated/docs/ChatTokenGet200Response.md deleted file mode 100644 index 8998323fa..000000000 --- a/apps/web/src/types/generated/docs/ChatTokenGet200Response.md +++ /dev/null @@ -1,24 +0,0 @@ -# ChatTokenGet200Response - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**data** | [**ChatTokenGet200ResponseAllOfData**](ChatTokenGet200ResponseAllOfData.md) | | [optional] [default to undefined] -**error** | **object** | | [optional] [default to undefined] -**success** | **boolean** | | [optional] [default to undefined] - -## Example - -```typescript -import { ChatTokenGet200Response } from './api'; - -const instance: ChatTokenGet200Response = { - data, - error, - success, -}; -``` - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/apps/web/src/types/generated/docs/ChatTokenGet200ResponseAllOfData.md b/apps/web/src/types/generated/docs/ChatTokenGet200ResponseAllOfData.md deleted file mode 100644 index c5a8167b2..000000000 --- a/apps/web/src/types/generated/docs/ChatTokenGet200ResponseAllOfData.md +++ /dev/null @@ -1,20 +0,0 @@ -# ChatTokenGet200ResponseAllOfData - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**token** | **string** | | [optional] [default to undefined] - -## Example - -```typescript -import { ChatTokenGet200ResponseAllOfData } from './api'; - -const instance: ChatTokenGet200ResponseAllOfData = { - token, -}; -``` - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/apps/web/src/types/generated/docs/CommentApi.md b/apps/web/src/types/generated/docs/CommentApi.md deleted file mode 100644 index ce468b49a..000000000 --- a/apps/web/src/types/generated/docs/CommentApi.md +++ /dev/null @@ -1,309 +0,0 @@ -# CommentApi - -All URIs are relative to *http://localhost:18080/api/v1* - -|Method | HTTP request | Description| -|------------- | ------------- | -------------| -|[**commentsIdPut**](#commentsidput) | **PUT** /comments/{id} | Update comment| -|[**commentsIdRepliesGet**](#commentsidrepliesget) | **GET** /comments/{id}/replies | Get comment replies| -|[**tracksIdCommentsCommentIdDelete**](#tracksidcommentscommentiddelete) | **DELETE** /tracks/{id}/comments/{comment_id} | Delete comment| -|[**tracksIdCommentsGet**](#tracksidcommentsget) | **GET** /tracks/{id}/comments | Get track comments| -|[**tracksIdCommentsPost**](#tracksidcommentspost) | **POST** /tracks/{id}/comments | Create comment| - -# **commentsIdPut** -> CommentsIdPut200Response commentsIdPut(comment) - -Update a comment (only by owner) - -### Example - -```typescript -import { - CommentApi, - Configuration, - InternalHandlersUpdateCommentRequest -} from './api'; - -const configuration = new Configuration(); -const apiInstance = new CommentApi(configuration); - -let id: string; //Comment ID (UUID) (default to undefined) -let comment: InternalHandlersUpdateCommentRequest; //Updated comment content - -const { status, data } = await apiInstance.commentsIdPut( - id, - comment -); -``` - -### Parameters - -|Name | Type | Description | Notes| -|------------- | ------------- | ------------- | -------------| -| **comment** | **InternalHandlersUpdateCommentRequest**| Updated comment content | | -| **id** | [**string**] | Comment ID (UUID) | defaults to undefined| - - -### Return type - -**CommentsIdPut200Response** - -### Authorization - -[BearerAuth](../README.md#BearerAuth) - -### HTTP request headers - - - **Content-Type**: application/json - - **Accept**: application/json - - -### HTTP response details -| Status code | Description | Response headers | -|-------------|-------------|------------------| -|**200** | OK | - | -|**400** | Validation error | - | -|**401** | Unauthorized | - | -|**403** | Forbidden - can only edit own comments | - | -|**404** | Comment not found | - | -|**500** | Internal server error | - | - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **commentsIdRepliesGet** -> CommentsIdRepliesGet200Response commentsIdRepliesGet() - -Get paginated list of replies to a comment - -### Example - -```typescript -import { - CommentApi, - Configuration -} from './api'; - -const configuration = new Configuration(); -const apiInstance = new CommentApi(configuration); - -let id: string; //Parent Comment ID (UUID) (default to undefined) -let page: number; //Page number (optional) (default to 1) -let limit: number; //Items per page (optional) (default to 20) - -const { status, data } = await apiInstance.commentsIdRepliesGet( - id, - page, - limit -); -``` - -### Parameters - -|Name | Type | Description | Notes| -|------------- | ------------- | ------------- | -------------| -| **id** | [**string**] | Parent Comment ID (UUID) | defaults to undefined| -| **page** | [**number**] | Page number | (optional) defaults to 1| -| **limit** | [**number**] | Items per page | (optional) defaults to 20| - - -### Return type - -**CommentsIdRepliesGet200Response** - -### Authorization - -No authorization required - -### HTTP request headers - - - **Content-Type**: Not defined - - **Accept**: application/json - - -### HTTP response details -| Status code | Description | Response headers | -|-------------|-------------|------------------| -|**200** | OK | - | -|**400** | Validation error | - | -|**404** | Parent comment not found | - | -|**500** | Internal server error | - | - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **tracksIdCommentsCommentIdDelete** -> Auth2faDisablePost200Response tracksIdCommentsCommentIdDelete() - -Delete a comment (only by owner or admin) - -### Example - -```typescript -import { - CommentApi, - Configuration -} from './api'; - -const configuration = new Configuration(); -const apiInstance = new CommentApi(configuration); - -let id: string; //Track ID (default to undefined) -let commentId: string; //Comment ID (default to undefined) - -const { status, data } = await apiInstance.tracksIdCommentsCommentIdDelete( - id, - commentId -); -``` - -### Parameters - -|Name | Type | Description | Notes| -|------------- | ------------- | ------------- | -------------| -| **id** | [**string**] | Track ID | defaults to undefined| -| **commentId** | [**string**] | Comment ID | defaults to undefined| - - -### Return type - -**Auth2faDisablePost200Response** - -### Authorization - -[BearerAuth](../README.md#BearerAuth) - -### HTTP request headers - - - **Content-Type**: Not defined - - **Accept**: application/json - - -### HTTP response details -| Status code | Description | Response headers | -|-------------|-------------|------------------| -|**200** | OK | - | -|**400** | Validation error | - | -|**401** | Unauthorized | - | -|**403** | Forbidden - not comment owner | - | -|**404** | Comment not found | - | - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **tracksIdCommentsGet** -> TracksIdCommentsGet200Response tracksIdCommentsGet() - -Get paginated list of comments for a track - -### Example - -```typescript -import { - CommentApi, - Configuration -} from './api'; - -const configuration = new Configuration(); -const apiInstance = new CommentApi(configuration); - -let id: string; //Track ID (default to undefined) -let page: number; //Page number (optional) (default to 1) -let limit: number; //Items per page (optional) (default to 20) - -const { status, data } = await apiInstance.tracksIdCommentsGet( - id, - page, - limit -); -``` - -### Parameters - -|Name | Type | Description | Notes| -|------------- | ------------- | ------------- | -------------| -| **id** | [**string**] | Track ID | defaults to undefined| -| **page** | [**number**] | Page number | (optional) defaults to 1| -| **limit** | [**number**] | Items per page | (optional) defaults to 20| - - -### Return type - -**TracksIdCommentsGet200Response** - -### Authorization - -No authorization required - -### HTTP request headers - - - **Content-Type**: Not defined - - **Accept**: application/json - - -### HTTP response details -| Status code | Description | Response headers | -|-------------|-------------|------------------| -|**200** | OK | - | -|**400** | Validation error | - | -|**404** | Track not found | - | -|**500** | Internal server error | - | - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **tracksIdCommentsPost** -> CommentsIdPut200Response tracksIdCommentsPost(comment) - -Create a new comment on a track. Can be a top-level comment or a reply to another comment (using parent_id). - -### Example - -```typescript -import { - CommentApi, - Configuration, - InternalHandlersCreateCommentRequest -} from './api'; - -const configuration = new Configuration(); -const apiInstance = new CommentApi(configuration); - -let id: string; //Track ID (UUID) (default to undefined) -let comment: InternalHandlersCreateCommentRequest; //Comment data - -const { status, data } = await apiInstance.tracksIdCommentsPost( - id, - comment -); -``` - -### Parameters - -|Name | Type | Description | Notes| -|------------- | ------------- | ------------- | -------------| -| **comment** | **InternalHandlersCreateCommentRequest**| Comment data | | -| **id** | [**string**] | Track ID (UUID) | defaults to undefined| - - -### Return type - -**CommentsIdPut200Response** - -### Authorization - -[BearerAuth](../README.md#BearerAuth) - -### HTTP request headers - - - **Content-Type**: application/json - - **Accept**: application/json - - -### HTTP response details -| Status code | Description | Response headers | -|-------------|-------------|------------------| -|**201** | Created | - | -|**400** | Validation error | - | -|**401** | Unauthorized | - | -|**404** | Track not found | - | -|**500** | Internal server error | - | - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - diff --git a/apps/web/src/types/generated/docs/CommentsIdPut200Response.md b/apps/web/src/types/generated/docs/CommentsIdPut200Response.md deleted file mode 100644 index 2ca7283d0..000000000 --- a/apps/web/src/types/generated/docs/CommentsIdPut200Response.md +++ /dev/null @@ -1,24 +0,0 @@ -# CommentsIdPut200Response - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**data** | [**CommentsIdPut200ResponseAllOfData**](CommentsIdPut200ResponseAllOfData.md) | | [optional] [default to undefined] -**error** | **object** | | [optional] [default to undefined] -**success** | **boolean** | | [optional] [default to undefined] - -## Example - -```typescript -import { CommentsIdPut200Response } from './api'; - -const instance: CommentsIdPut200Response = { - data, - error, - success, -}; -``` - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/apps/web/src/types/generated/docs/CommentsIdPut200ResponseAllOfData.md b/apps/web/src/types/generated/docs/CommentsIdPut200ResponseAllOfData.md deleted file mode 100644 index dcbfa13bc..000000000 --- a/apps/web/src/types/generated/docs/CommentsIdPut200ResponseAllOfData.md +++ /dev/null @@ -1,20 +0,0 @@ -# CommentsIdPut200ResponseAllOfData - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**comment** | **object** | | [optional] [default to undefined] - -## Example - -```typescript -import { CommentsIdPut200ResponseAllOfData } from './api'; - -const instance: CommentsIdPut200ResponseAllOfData = { - comment, -}; -``` - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/apps/web/src/types/generated/docs/CommentsIdRepliesGet200Response.md b/apps/web/src/types/generated/docs/CommentsIdRepliesGet200Response.md deleted file mode 100644 index 046b00c7f..000000000 --- a/apps/web/src/types/generated/docs/CommentsIdRepliesGet200Response.md +++ /dev/null @@ -1,24 +0,0 @@ -# CommentsIdRepliesGet200Response - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**data** | [**CommentsIdRepliesGet200ResponseAllOfData**](CommentsIdRepliesGet200ResponseAllOfData.md) | | [optional] [default to undefined] -**error** | **object** | | [optional] [default to undefined] -**success** | **boolean** | | [optional] [default to undefined] - -## Example - -```typescript -import { CommentsIdRepliesGet200Response } from './api'; - -const instance: CommentsIdRepliesGet200Response = { - data, - error, - success, -}; -``` - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/apps/web/src/types/generated/docs/CommentsIdRepliesGet200ResponseAllOfData.md b/apps/web/src/types/generated/docs/CommentsIdRepliesGet200ResponseAllOfData.md deleted file mode 100644 index 8ea6edcf0..000000000 --- a/apps/web/src/types/generated/docs/CommentsIdRepliesGet200ResponseAllOfData.md +++ /dev/null @@ -1,22 +0,0 @@ -# CommentsIdRepliesGet200ResponseAllOfData - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**pagination** | **object** | | [optional] [default to undefined] -**replies** | **Array<string>** | | [optional] [default to undefined] - -## Example - -```typescript -import { CommentsIdRepliesGet200ResponseAllOfData } from './api'; - -const instance: CommentsIdRepliesGet200ResponseAllOfData = { - pagination, - replies, -}; -``` - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/apps/web/src/types/generated/docs/DashboardApi.md b/apps/web/src/types/generated/docs/DashboardApi.md deleted file mode 100644 index ef60d06f9..000000000 --- a/apps/web/src/types/generated/docs/DashboardApi.md +++ /dev/null @@ -1,67 +0,0 @@ -# DashboardApi - -All URIs are relative to *http://localhost:18080/api/v1* - -|Method | HTTP request | Description| -|------------- | ------------- | -------------| -|[**apiV1DashboardGet**](#apiv1dashboardget) | **GET** /api/v1/dashboard | Get Dashboard Data| - -# **apiV1DashboardGet** -> ApiV1DashboardGet200Response apiV1DashboardGet() - -Get aggregated dashboard data including stats, recent activity, and library preview - -### Example - -```typescript -import { - DashboardApi, - Configuration -} from './api'; - -const configuration = new Configuration(); -const apiInstance = new DashboardApi(configuration); - -let activityLimit: number; //Number of recent activity items (default: 10) (optional) (default to undefined) -let libraryLimit: number; //Number of library items (default: 5) (optional) (default to undefined) -let statsPeriod: string; //Time period for statistics: 7d, 30d, 90d, all (default: 30d) (optional) (default to undefined) - -const { status, data } = await apiInstance.apiV1DashboardGet( - activityLimit, - libraryLimit, - statsPeriod -); -``` - -### Parameters - -|Name | Type | Description | Notes| -|------------- | ------------- | ------------- | -------------| -| **activityLimit** | [**number**] | Number of recent activity items (default: 10) | (optional) defaults to undefined| -| **libraryLimit** | [**number**] | Number of library items (default: 5) | (optional) defaults to undefined| -| **statsPeriod** | [**string**] | Time period for statistics: 7d, 30d, 90d, all (default: 30d) | (optional) defaults to undefined| - - -### Return type - -**ApiV1DashboardGet200Response** - -### Authorization - -[BearerAuth](../README.md#BearerAuth) - -### HTTP request headers - - - **Content-Type**: Not defined - - **Accept**: application/json - - -### HTTP response details -| Status code | Description | Response headers | -|-------------|-------------|------------------| -|**200** | OK | - | -|**401** | Unauthorized | - | -|**500** | Internal server error | - | - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - diff --git a/apps/web/src/types/generated/docs/InternalCoreTrackBatchDeleteRequest.md b/apps/web/src/types/generated/docs/InternalCoreTrackBatchDeleteRequest.md deleted file mode 100644 index f435b6641..000000000 --- a/apps/web/src/types/generated/docs/InternalCoreTrackBatchDeleteRequest.md +++ /dev/null @@ -1,20 +0,0 @@ -# InternalCoreTrackBatchDeleteRequest - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**track_ids** | **Array<string>** | | [default to undefined] - -## Example - -```typescript -import { InternalCoreTrackBatchDeleteRequest } from './api'; - -const instance: InternalCoreTrackBatchDeleteRequest = { - track_ids, -}; -``` - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/apps/web/src/types/generated/docs/InternalCoreTrackBatchUpdateRequest.md b/apps/web/src/types/generated/docs/InternalCoreTrackBatchUpdateRequest.md deleted file mode 100644 index ad8b2bef3..000000000 --- a/apps/web/src/types/generated/docs/InternalCoreTrackBatchUpdateRequest.md +++ /dev/null @@ -1,22 +0,0 @@ -# InternalCoreTrackBatchUpdateRequest - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**track_ids** | **Array<string>** | | [default to undefined] -**updates** | **{ [key: string]: any; }** | | [default to undefined] - -## Example - -```typescript -import { InternalCoreTrackBatchUpdateRequest } from './api'; - -const instance: InternalCoreTrackBatchUpdateRequest = { - track_ids, - updates, -}; -``` - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/apps/web/src/types/generated/docs/InternalCoreTrackCompleteChunkedUploadRequest.md b/apps/web/src/types/generated/docs/InternalCoreTrackCompleteChunkedUploadRequest.md deleted file mode 100644 index 59c5dd4dc..000000000 --- a/apps/web/src/types/generated/docs/InternalCoreTrackCompleteChunkedUploadRequest.md +++ /dev/null @@ -1,20 +0,0 @@ -# InternalCoreTrackCompleteChunkedUploadRequest - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**upload_id** | **string** | | [default to undefined] - -## Example - -```typescript -import { InternalCoreTrackCompleteChunkedUploadRequest } from './api'; - -const instance: InternalCoreTrackCompleteChunkedUploadRequest = { - upload_id, -}; -``` - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/apps/web/src/types/generated/docs/InternalCoreTrackCreateShareRequest.md b/apps/web/src/types/generated/docs/InternalCoreTrackCreateShareRequest.md deleted file mode 100644 index 9850661db..000000000 --- a/apps/web/src/types/generated/docs/InternalCoreTrackCreateShareRequest.md +++ /dev/null @@ -1,22 +0,0 @@ -# InternalCoreTrackCreateShareRequest - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**expires_at** | **string** | | [optional] [default to undefined] -**permissions** | **string** | | [default to undefined] - -## Example - -```typescript -import { InternalCoreTrackCreateShareRequest } from './api'; - -const instance: InternalCoreTrackCreateShareRequest = { - expires_at, - permissions, -}; -``` - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/apps/web/src/types/generated/docs/InternalCoreTrackInitiateChunkedUploadRequest.md b/apps/web/src/types/generated/docs/InternalCoreTrackInitiateChunkedUploadRequest.md deleted file mode 100644 index ed0367c98..000000000 --- a/apps/web/src/types/generated/docs/InternalCoreTrackInitiateChunkedUploadRequest.md +++ /dev/null @@ -1,24 +0,0 @@ -# InternalCoreTrackInitiateChunkedUploadRequest - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**filename** | **string** | | [default to undefined] -**total_chunks** | **number** | | [default to undefined] -**total_size** | **number** | | [default to undefined] - -## Example - -```typescript -import { InternalCoreTrackInitiateChunkedUploadRequest } from './api'; - -const instance: InternalCoreTrackInitiateChunkedUploadRequest = { - filename, - total_chunks, - total_size, -}; -``` - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/apps/web/src/types/generated/docs/InternalCoreTrackRecordPlayRequest.md b/apps/web/src/types/generated/docs/InternalCoreTrackRecordPlayRequest.md deleted file mode 100644 index e47eb86e4..000000000 --- a/apps/web/src/types/generated/docs/InternalCoreTrackRecordPlayRequest.md +++ /dev/null @@ -1,20 +0,0 @@ -# InternalCoreTrackRecordPlayRequest - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**play_time** | **number** | | [optional] [default to undefined] - -## Example - -```typescript -import { InternalCoreTrackRecordPlayRequest } from './api'; - -const instance: InternalCoreTrackRecordPlayRequest = { - play_time, -}; -``` - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/apps/web/src/types/generated/docs/InternalCoreTrackStreamCallbackRequest.md b/apps/web/src/types/generated/docs/InternalCoreTrackStreamCallbackRequest.md deleted file mode 100644 index ac508513a..000000000 --- a/apps/web/src/types/generated/docs/InternalCoreTrackStreamCallbackRequest.md +++ /dev/null @@ -1,24 +0,0 @@ -# InternalCoreTrackStreamCallbackRequest - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**error** | **string** | | [optional] [default to undefined] -**manifest_url** | **string** | | [optional] [default to undefined] -**status** | **string** | | [default to undefined] - -## Example - -```typescript -import { InternalCoreTrackStreamCallbackRequest } from './api'; - -const instance: InternalCoreTrackStreamCallbackRequest = { - error, - manifest_url, - status, -}; -``` - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/apps/web/src/types/generated/docs/InternalCoreTrackUpdateLyricsRequest.md b/apps/web/src/types/generated/docs/InternalCoreTrackUpdateLyricsRequest.md deleted file mode 100644 index 5b809fcb4..000000000 --- a/apps/web/src/types/generated/docs/InternalCoreTrackUpdateLyricsRequest.md +++ /dev/null @@ -1,20 +0,0 @@ -# InternalCoreTrackUpdateLyricsRequest - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**content** | **string** | | [optional] [default to undefined] - -## Example - -```typescript -import { InternalCoreTrackUpdateLyricsRequest } from './api'; - -const instance: InternalCoreTrackUpdateLyricsRequest = { - content, -}; -``` - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/apps/web/src/types/generated/docs/InternalCoreTrackUpdateTrackRequest.md b/apps/web/src/types/generated/docs/InternalCoreTrackUpdateTrackRequest.md deleted file mode 100644 index 6f227d719..000000000 --- a/apps/web/src/types/generated/docs/InternalCoreTrackUpdateTrackRequest.md +++ /dev/null @@ -1,38 +0,0 @@ -# InternalCoreTrackUpdateTrackRequest - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**album** | **string** | | [optional] [default to undefined] -**artist** | **string** | | [optional] [default to undefined] -**bpm** | **number** | | [optional] [default to undefined] -**genre** | **string** | legacy, single | [optional] [default to undefined] -**genres** | **Array<string>** | v0.10.1: max 3, taxonomy slugs | [optional] [default to undefined] -**is_public** | **boolean** | | [optional] [default to undefined] -**musical_key** | **string** | | [optional] [default to undefined] -**tags** | **Array<string>** | v0.10.1: max 10, 30 chars each | [optional] [default to undefined] -**title** | **string** | | [optional] [default to undefined] -**year** | **number** | | [optional] [default to undefined] - -## Example - -```typescript -import { InternalCoreTrackUpdateTrackRequest } from './api'; - -const instance: InternalCoreTrackUpdateTrackRequest = { - album, - artist, - bpm, - genre, - genres, - is_public, - musical_key, - tags, - title, - year, -}; -``` - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/apps/web/src/types/generated/docs/InternalHandlersAPIResponse.md b/apps/web/src/types/generated/docs/InternalHandlersAPIResponse.md deleted file mode 100644 index 76ef721bb..000000000 --- a/apps/web/src/types/generated/docs/InternalHandlersAPIResponse.md +++ /dev/null @@ -1,24 +0,0 @@ -# InternalHandlersAPIResponse - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**data** | **object** | | [optional] [default to undefined] -**error** | **object** | | [optional] [default to undefined] -**success** | **boolean** | | [optional] [default to undefined] - -## Example - -```typescript -import { InternalHandlersAPIResponse } from './api'; - -const instance: InternalHandlersAPIResponse = { - data, - error, - success, -}; -``` - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/apps/web/src/types/generated/docs/InternalHandlersAddCollaboratorRequest.md b/apps/web/src/types/generated/docs/InternalHandlersAddCollaboratorRequest.md deleted file mode 100644 index 36cf8c2b8..000000000 --- a/apps/web/src/types/generated/docs/InternalHandlersAddCollaboratorRequest.md +++ /dev/null @@ -1,22 +0,0 @@ -# InternalHandlersAddCollaboratorRequest - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**permission** | **string** | | [default to undefined] -**user_id** | **string** | | [default to undefined] - -## Example - -```typescript -import { InternalHandlersAddCollaboratorRequest } from './api'; - -const instance: InternalHandlersAddCollaboratorRequest = { - permission, - user_id, -}; -``` - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/apps/web/src/types/generated/docs/InternalHandlersCreateCommentRequest.md b/apps/web/src/types/generated/docs/InternalHandlersCreateCommentRequest.md deleted file mode 100644 index 2279c20a8..000000000 --- a/apps/web/src/types/generated/docs/InternalHandlersCreateCommentRequest.md +++ /dev/null @@ -1,24 +0,0 @@ -# InternalHandlersCreateCommentRequest - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**content** | **string** | | [default to undefined] -**parent_id** | **string** | | [optional] [default to undefined] -**timestamp** | **number** | Position in seconds (0 = top-level, no specific time) | [optional] [default to undefined] - -## Example - -```typescript -import { InternalHandlersCreateCommentRequest } from './api'; - -const instance: InternalHandlersCreateCommentRequest = { - content, - parent_id, - timestamp, -}; -``` - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/apps/web/src/types/generated/docs/InternalHandlersCreateOrderRequest.md b/apps/web/src/types/generated/docs/InternalHandlersCreateOrderRequest.md deleted file mode 100644 index 77d4ead4e..000000000 --- a/apps/web/src/types/generated/docs/InternalHandlersCreateOrderRequest.md +++ /dev/null @@ -1,22 +0,0 @@ -# InternalHandlersCreateOrderRequest - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**items** | [**Array<InternalHandlersCreateOrderRequestItemsInner>**](InternalHandlersCreateOrderRequestItemsInner.md) | | [default to undefined] -**promo_code** | **string** | | [optional] [default to undefined] - -## Example - -```typescript -import { InternalHandlersCreateOrderRequest } from './api'; - -const instance: InternalHandlersCreateOrderRequest = { - items, - promo_code, -}; -``` - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/apps/web/src/types/generated/docs/InternalHandlersCreateOrderRequestItemsInner.md b/apps/web/src/types/generated/docs/InternalHandlersCreateOrderRequestItemsInner.md deleted file mode 100644 index c2385aa38..000000000 --- a/apps/web/src/types/generated/docs/InternalHandlersCreateOrderRequestItemsInner.md +++ /dev/null @@ -1,20 +0,0 @@ -# InternalHandlersCreateOrderRequestItemsInner - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**product_id** | **string** | | [default to undefined] - -## Example - -```typescript -import { InternalHandlersCreateOrderRequestItemsInner } from './api'; - -const instance: InternalHandlersCreateOrderRequestItemsInner = { - product_id, -}; -``` - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/apps/web/src/types/generated/docs/InternalHandlersCreatePlaylistRequest.md b/apps/web/src/types/generated/docs/InternalHandlersCreatePlaylistRequest.md deleted file mode 100644 index 625f6db1c..000000000 --- a/apps/web/src/types/generated/docs/InternalHandlersCreatePlaylistRequest.md +++ /dev/null @@ -1,24 +0,0 @@ -# InternalHandlersCreatePlaylistRequest - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**description** | **string** | | [optional] [default to undefined] -**is_public** | **boolean** | | [optional] [default to undefined] -**title** | **string** | | [default to undefined] - -## Example - -```typescript -import { InternalHandlersCreatePlaylistRequest } from './api'; - -const instance: InternalHandlersCreatePlaylistRequest = { - description, - is_public, - title, -}; -``` - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/apps/web/src/types/generated/docs/InternalHandlersCreateProductRequest.md b/apps/web/src/types/generated/docs/InternalHandlersCreateProductRequest.md deleted file mode 100644 index 568fb0708..000000000 --- a/apps/web/src/types/generated/docs/InternalHandlersCreateProductRequest.md +++ /dev/null @@ -1,38 +0,0 @@ -# InternalHandlersCreateProductRequest - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**bpm** | **number** | v0.401 M1 | [optional] [default to undefined] -**category** | **string** | | [optional] [default to undefined] -**description** | **string** | | [optional] [default to undefined] -**license_type** | **string** | | [optional] [default to undefined] -**licenses** | [**Array<InternalHandlersCreateProductRequestLicensesInner>**](InternalHandlersCreateProductRequestLicensesInner.md) | v0.401 M2: Product licenses (streaming, personal, commercial, exclusive) | [optional] [default to undefined] -**musical_key** | **string** | | [optional] [default to undefined] -**price** | **number** | | [default to undefined] -**product_type** | **string** | | [default to undefined] -**title** | **string** | | [default to undefined] -**track_id** | **string** | UUID string | [optional] [default to undefined] - -## Example - -```typescript -import { InternalHandlersCreateProductRequest } from './api'; - -const instance: InternalHandlersCreateProductRequest = { - bpm, - category, - description, - license_type, - licenses, - musical_key, - price, - product_type, - title, - track_id, -}; -``` - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/apps/web/src/types/generated/docs/InternalHandlersCreateProductRequestLicensesInner.md b/apps/web/src/types/generated/docs/InternalHandlersCreateProductRequestLicensesInner.md deleted file mode 100644 index 75dce88bd..000000000 --- a/apps/web/src/types/generated/docs/InternalHandlersCreateProductRequestLicensesInner.md +++ /dev/null @@ -1,24 +0,0 @@ -# InternalHandlersCreateProductRequestLicensesInner - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**license_type** | **string** | | [default to undefined] -**price_cents** | **number** | | [default to undefined] -**terms_text** | **string** | | [optional] [default to undefined] - -## Example - -```typescript -import { InternalHandlersCreateProductRequestLicensesInner } from './api'; - -const instance: InternalHandlersCreateProductRequestLicensesInner = { - license_type, - price_cents, - terms_text, -}; -``` - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/apps/web/src/types/generated/docs/InternalHandlersDashboardResponse.md b/apps/web/src/types/generated/docs/InternalHandlersDashboardResponse.md deleted file mode 100644 index 7e117a3f6..000000000 --- a/apps/web/src/types/generated/docs/InternalHandlersDashboardResponse.md +++ /dev/null @@ -1,24 +0,0 @@ -# InternalHandlersDashboardResponse - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**library_preview** | [**InternalHandlersLibraryPreview**](InternalHandlersLibraryPreview.md) | | [optional] [default to undefined] -**recent_activity** | [**Array<InternalHandlersRecentActivity>**](InternalHandlersRecentActivity.md) | | [optional] [default to undefined] -**stats** | [**InternalHandlersDashboardStats**](InternalHandlersDashboardStats.md) | | [optional] [default to undefined] - -## Example - -```typescript -import { InternalHandlersDashboardResponse } from './api'; - -const instance: InternalHandlersDashboardResponse = { - library_preview, - recent_activity, - stats, -}; -``` - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/apps/web/src/types/generated/docs/InternalHandlersDashboardStats.md b/apps/web/src/types/generated/docs/InternalHandlersDashboardStats.md deleted file mode 100644 index c012d9f7a..000000000 --- a/apps/web/src/types/generated/docs/InternalHandlersDashboardStats.md +++ /dev/null @@ -1,36 +0,0 @@ -# InternalHandlersDashboardStats - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**active_friends** | **number** | | [optional] [default to undefined] -**active_friends_change** | **string** | | [optional] [default to undefined] -**favorites** | **number** | | [optional] [default to undefined] -**favorites_change** | **string** | | [optional] [default to undefined] -**messages_sent** | **number** | | [optional] [default to undefined] -**messages_sent_change** | **string** | | [optional] [default to undefined] -**period** | **string** | | [optional] [default to undefined] -**tracks_played** | **number** | | [optional] [default to undefined] -**tracks_played_change** | **string** | | [optional] [default to undefined] - -## Example - -```typescript -import { InternalHandlersDashboardStats } from './api'; - -const instance: InternalHandlersDashboardStats = { - active_friends, - active_friends_change, - favorites, - favorites_change, - messages_sent, - messages_sent_change, - period, - tracks_played, - tracks_played_change, -}; -``` - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/apps/web/src/types/generated/docs/InternalHandlersDeleteAccountRequest.md b/apps/web/src/types/generated/docs/InternalHandlersDeleteAccountRequest.md deleted file mode 100644 index b73776364..000000000 --- a/apps/web/src/types/generated/docs/InternalHandlersDeleteAccountRequest.md +++ /dev/null @@ -1,26 +0,0 @@ -# InternalHandlersDeleteAccountRequest - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**confirm_text** | **string** | | [default to undefined] -**keep_public_tracks** | **boolean** | If true, public tracks remain (attributed to deleted account) | [optional] [default to undefined] -**password** | **string** | | [default to undefined] -**reason** | **string** | | [optional] [default to undefined] - -## Example - -```typescript -import { InternalHandlersDeleteAccountRequest } from './api'; - -const instance: InternalHandlersDeleteAccountRequest = { - confirm_text, - keep_public_tracks, - password, - reason, -}; -``` - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/apps/web/src/types/generated/docs/InternalHandlersDisableTwoFactorRequest.md b/apps/web/src/types/generated/docs/InternalHandlersDisableTwoFactorRequest.md deleted file mode 100644 index 693a9ad95..000000000 --- a/apps/web/src/types/generated/docs/InternalHandlersDisableTwoFactorRequest.md +++ /dev/null @@ -1,20 +0,0 @@ -# InternalHandlersDisableTwoFactorRequest - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**password** | **string** | | [default to undefined] - -## Example - -```typescript -import { InternalHandlersDisableTwoFactorRequest } from './api'; - -const instance: InternalHandlersDisableTwoFactorRequest = { - password, -}; -``` - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/apps/web/src/types/generated/docs/InternalHandlersFrontendLogRequest.md b/apps/web/src/types/generated/docs/InternalHandlersFrontendLogRequest.md deleted file mode 100644 index a8a0fd458..000000000 --- a/apps/web/src/types/generated/docs/InternalHandlersFrontendLogRequest.md +++ /dev/null @@ -1,28 +0,0 @@ -# InternalHandlersFrontendLogRequest - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**context** | **{ [key: string]: any; }** | | [optional] [default to undefined] -**data** | **object** | | [optional] [default to undefined] -**level** | **string** | | [optional] [default to undefined] -**message** | **string** | | [optional] [default to undefined] -**timestamp** | **string** | | [optional] [default to undefined] - -## Example - -```typescript -import { InternalHandlersFrontendLogRequest } from './api'; - -const instance: InternalHandlersFrontendLogRequest = { - context, - data, - level, - message, - timestamp, -}; -``` - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/apps/web/src/types/generated/docs/InternalHandlersImportPlaylistRequest.md b/apps/web/src/types/generated/docs/InternalHandlersImportPlaylistRequest.md deleted file mode 100644 index bed4a82f5..000000000 --- a/apps/web/src/types/generated/docs/InternalHandlersImportPlaylistRequest.md +++ /dev/null @@ -1,22 +0,0 @@ -# InternalHandlersImportPlaylistRequest - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**playlist** | [**InternalHandlersImportPlaylistRequestPlaylist**](InternalHandlersImportPlaylistRequestPlaylist.md) | | [optional] [default to undefined] -**tracks** | [**Array<InternalHandlersImportPlaylistRequestTracksInner>**](InternalHandlersImportPlaylistRequestTracksInner.md) | | [optional] [default to undefined] - -## Example - -```typescript -import { InternalHandlersImportPlaylistRequest } from './api'; - -const instance: InternalHandlersImportPlaylistRequest = { - playlist, - tracks, -}; -``` - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/apps/web/src/types/generated/docs/InternalHandlersImportPlaylistRequestPlaylist.md b/apps/web/src/types/generated/docs/InternalHandlersImportPlaylistRequestPlaylist.md deleted file mode 100644 index c34b74e6d..000000000 --- a/apps/web/src/types/generated/docs/InternalHandlersImportPlaylistRequestPlaylist.md +++ /dev/null @@ -1,24 +0,0 @@ -# InternalHandlersImportPlaylistRequestPlaylist - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**description** | **string** | | [optional] [default to undefined] -**is_public** | **boolean** | | [optional] [default to undefined] -**title** | **string** | | [optional] [default to undefined] - -## Example - -```typescript -import { InternalHandlersImportPlaylistRequestPlaylist } from './api'; - -const instance: InternalHandlersImportPlaylistRequestPlaylist = { - description, - is_public, - title, -}; -``` - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/apps/web/src/types/generated/docs/InternalHandlersImportPlaylistRequestTracksInner.md b/apps/web/src/types/generated/docs/InternalHandlersImportPlaylistRequestTracksInner.md deleted file mode 100644 index fec5381b7..000000000 --- a/apps/web/src/types/generated/docs/InternalHandlersImportPlaylistRequestTracksInner.md +++ /dev/null @@ -1,20 +0,0 @@ -# InternalHandlersImportPlaylistRequestTracksInner - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**id** | **string** | | [optional] [default to undefined] - -## Example - -```typescript -import { InternalHandlersImportPlaylistRequestTracksInner } from './api'; - -const instance: InternalHandlersImportPlaylistRequestTracksInner = { - id, -}; -``` - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/apps/web/src/types/generated/docs/InternalHandlersLibraryPreview.md b/apps/web/src/types/generated/docs/InternalHandlersLibraryPreview.md deleted file mode 100644 index 48233db72..000000000 --- a/apps/web/src/types/generated/docs/InternalHandlersLibraryPreview.md +++ /dev/null @@ -1,24 +0,0 @@ -# InternalHandlersLibraryPreview - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**has_more** | **boolean** | | [optional] [default to undefined] -**items** | [**Array<InternalHandlersTrackPreview>**](InternalHandlersTrackPreview.md) | | [optional] [default to undefined] -**total_count** | **number** | | [optional] [default to undefined] - -## Example - -```typescript -import { InternalHandlersLibraryPreview } from './api'; - -const instance: InternalHandlersLibraryPreview = { - has_more, - items, - total_count, -}; -``` - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/apps/web/src/types/generated/docs/InternalHandlersRecentActivity.md b/apps/web/src/types/generated/docs/InternalHandlersRecentActivity.md deleted file mode 100644 index 52414cfa5..000000000 --- a/apps/web/src/types/generated/docs/InternalHandlersRecentActivity.md +++ /dev/null @@ -1,32 +0,0 @@ -# InternalHandlersRecentActivity - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**description** | **string** | | [optional] [default to undefined] -**icon** | **string** | | [optional] [default to undefined] -**id** | **string** | | [optional] [default to undefined] -**metadata** | **{ [key: string]: any; }** | | [optional] [default to undefined] -**timestamp** | **string** | | [optional] [default to undefined] -**title** | **string** | | [optional] [default to undefined] -**type** | **string** | | [optional] [default to undefined] - -## Example - -```typescript -import { InternalHandlersRecentActivity } from './api'; - -const instance: InternalHandlersRecentActivity = { - description, - icon, - id, - metadata, - timestamp, - title, - type, -}; -``` - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/apps/web/src/types/generated/docs/InternalHandlersRecordEventRequest.md b/apps/web/src/types/generated/docs/InternalHandlersRecordEventRequest.md deleted file mode 100644 index 4eac59293..000000000 --- a/apps/web/src/types/generated/docs/InternalHandlersRecordEventRequest.md +++ /dev/null @@ -1,22 +0,0 @@ -# InternalHandlersRecordEventRequest - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**event_name** | **string** | | [default to undefined] -**payload** | **{ [key: string]: any; }** | | [optional] [default to undefined] - -## Example - -```typescript -import { InternalHandlersRecordEventRequest } from './api'; - -const instance: InternalHandlersRecordEventRequest = { - event_name, - payload, -}; -``` - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/apps/web/src/types/generated/docs/InternalHandlersRecordPlayRequest.md b/apps/web/src/types/generated/docs/InternalHandlersRecordPlayRequest.md deleted file mode 100644 index 5373e12c3..000000000 --- a/apps/web/src/types/generated/docs/InternalHandlersRecordPlayRequest.md +++ /dev/null @@ -1,22 +0,0 @@ -# InternalHandlersRecordPlayRequest - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**device** | **string** | | [optional] [default to undefined] -**duration** | **number** | | [default to undefined] - -## Example - -```typescript -import { InternalHandlersRecordPlayRequest } from './api'; - -const instance: InternalHandlersRecordPlayRequest = { - device, - duration, -}; -``` - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/apps/web/src/types/generated/docs/InternalHandlersReorderTracksRequest.md b/apps/web/src/types/generated/docs/InternalHandlersReorderTracksRequest.md deleted file mode 100644 index f0375efea..000000000 --- a/apps/web/src/types/generated/docs/InternalHandlersReorderTracksRequest.md +++ /dev/null @@ -1,20 +0,0 @@ -# InternalHandlersReorderTracksRequest - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**track_ids** | **Array<string>** | Changed to []uuid.UUID | [default to undefined] - -## Example - -```typescript -import { InternalHandlersReorderTracksRequest } from './api'; - -const instance: InternalHandlersReorderTracksRequest = { - track_ids, -}; -``` - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/apps/web/src/types/generated/docs/InternalHandlersSetupTwoFactorResponse.md b/apps/web/src/types/generated/docs/InternalHandlersSetupTwoFactorResponse.md deleted file mode 100644 index c2cdb6aa3..000000000 --- a/apps/web/src/types/generated/docs/InternalHandlersSetupTwoFactorResponse.md +++ /dev/null @@ -1,24 +0,0 @@ -# InternalHandlersSetupTwoFactorResponse - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**qr_code_url** | **string** | | [optional] [default to undefined] -**recovery_codes** | **Array<string>** | | [optional] [default to undefined] -**secret** | **string** | | [optional] [default to undefined] - -## Example - -```typescript -import { InternalHandlersSetupTwoFactorResponse } from './api'; - -const instance: InternalHandlersSetupTwoFactorResponse = { - qr_code_url, - recovery_codes, - secret, -}; -``` - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/apps/web/src/types/generated/docs/InternalHandlersStreamTokenResponse.md b/apps/web/src/types/generated/docs/InternalHandlersStreamTokenResponse.md deleted file mode 100644 index 9d5b2ef4d..000000000 --- a/apps/web/src/types/generated/docs/InternalHandlersStreamTokenResponse.md +++ /dev/null @@ -1,22 +0,0 @@ -# InternalHandlersStreamTokenResponse - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**expires_in** | **number** | seconds | [optional] [default to undefined] -**token** | **string** | | [optional] [default to undefined] - -## Example - -```typescript -import { InternalHandlersStreamTokenResponse } from './api'; - -const instance: InternalHandlersStreamTokenResponse = { - expires_in, - token, -}; -``` - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/apps/web/src/types/generated/docs/InternalHandlersTrackPreview.md b/apps/web/src/types/generated/docs/InternalHandlersTrackPreview.md deleted file mode 100644 index 274728a89..000000000 --- a/apps/web/src/types/generated/docs/InternalHandlersTrackPreview.md +++ /dev/null @@ -1,34 +0,0 @@ -# InternalHandlersTrackPreview - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**artist** | **string** | | [optional] [default to undefined] -**cover_art_path** | **string** | | [optional] [default to undefined] -**created_at** | **string** | | [optional] [default to undefined] -**duration** | **number** | | [optional] [default to undefined] -**id** | **string** | | [optional] [default to undefined] -**like_count** | **number** | | [optional] [default to undefined] -**play_count** | **number** | | [optional] [default to undefined] -**title** | **string** | | [optional] [default to undefined] - -## Example - -```typescript -import { InternalHandlersTrackPreview } from './api'; - -const instance: InternalHandlersTrackPreview = { - artist, - cover_art_path, - created_at, - duration, - id, - like_count, - play_count, - title, -}; -``` - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/apps/web/src/types/generated/docs/InternalHandlersUpdateCollaboratorPermissionRequest.md b/apps/web/src/types/generated/docs/InternalHandlersUpdateCollaboratorPermissionRequest.md deleted file mode 100644 index 272ee4bab..000000000 --- a/apps/web/src/types/generated/docs/InternalHandlersUpdateCollaboratorPermissionRequest.md +++ /dev/null @@ -1,20 +0,0 @@ -# InternalHandlersUpdateCollaboratorPermissionRequest - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**permission** | **string** | | [default to undefined] - -## Example - -```typescript -import { InternalHandlersUpdateCollaboratorPermissionRequest } from './api'; - -const instance: InternalHandlersUpdateCollaboratorPermissionRequest = { - permission, -}; -``` - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/apps/web/src/types/generated/docs/InternalHandlersUpdateCommentRequest.md b/apps/web/src/types/generated/docs/InternalHandlersUpdateCommentRequest.md deleted file mode 100644 index 3fc66ef9a..000000000 --- a/apps/web/src/types/generated/docs/InternalHandlersUpdateCommentRequest.md +++ /dev/null @@ -1,20 +0,0 @@ -# InternalHandlersUpdateCommentRequest - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**content** | **string** | | [default to undefined] - -## Example - -```typescript -import { InternalHandlersUpdateCommentRequest } from './api'; - -const instance: InternalHandlersUpdateCommentRequest = { - content, -}; -``` - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/apps/web/src/types/generated/docs/InternalHandlersUpdatePlaylistRequest.md b/apps/web/src/types/generated/docs/InternalHandlersUpdatePlaylistRequest.md deleted file mode 100644 index f1f10207a..000000000 --- a/apps/web/src/types/generated/docs/InternalHandlersUpdatePlaylistRequest.md +++ /dev/null @@ -1,24 +0,0 @@ -# InternalHandlersUpdatePlaylistRequest - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**description** | **string** | | [optional] [default to undefined] -**is_public** | **boolean** | | [optional] [default to undefined] -**title** | **string** | | [optional] [default to undefined] - -## Example - -```typescript -import { InternalHandlersUpdatePlaylistRequest } from './api'; - -const instance: InternalHandlersUpdatePlaylistRequest = { - description, - is_public, - title, -}; -``` - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/apps/web/src/types/generated/docs/InternalHandlersUpdateProductRequest.md b/apps/web/src/types/generated/docs/InternalHandlersUpdateProductRequest.md deleted file mode 100644 index d2ec2cd7f..000000000 --- a/apps/web/src/types/generated/docs/InternalHandlersUpdateProductRequest.md +++ /dev/null @@ -1,34 +0,0 @@ -# InternalHandlersUpdateProductRequest - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**bpm** | **number** | | [optional] [default to undefined] -**category** | **string** | | [optional] [default to undefined] -**description** | **string** | | [optional] [default to undefined] -**licenses** | [**Array<InternalHandlersCreateProductRequestLicensesInner>**](InternalHandlersCreateProductRequestLicensesInner.md) | v0.401 M2: Product licenses | [optional] [default to undefined] -**musical_key** | **string** | | [optional] [default to undefined] -**price** | **number** | | [optional] [default to undefined] -**status** | **string** | | [optional] [default to undefined] -**title** | **string** | | [optional] [default to undefined] - -## Example - -```typescript -import { InternalHandlersUpdateProductRequest } from './api'; - -const instance: InternalHandlersUpdateProductRequest = { - bpm, - category, - description, - licenses, - musical_key, - price, - status, - title, -}; -``` - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/apps/web/src/types/generated/docs/InternalHandlersUpdateProfileRequest.md b/apps/web/src/types/generated/docs/InternalHandlersUpdateProfileRequest.md deleted file mode 100644 index a36d8b836..000000000 --- a/apps/web/src/types/generated/docs/InternalHandlersUpdateProfileRequest.md +++ /dev/null @@ -1,38 +0,0 @@ -# InternalHandlersUpdateProfileRequest - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**banner_url** | **string** | | [optional] [default to undefined] -**bio** | **string** | | [optional] [default to undefined] -**birthdate** | **string** | | [optional] [default to undefined] -**first_name** | **string** | | [optional] [default to undefined] -**gender** | **string** | | [optional] [default to undefined] -**is_public** | **boolean** | | [optional] [default to undefined] -**last_name** | **string** | | [optional] [default to undefined] -**location** | **string** | | [optional] [default to undefined] -**social_links** | **{ [key: string]: any; }** | | [optional] [default to undefined] -**username** | **string** | | [optional] [default to undefined] - -## Example - -```typescript -import { InternalHandlersUpdateProfileRequest } from './api'; - -const instance: InternalHandlersUpdateProfileRequest = { - banner_url, - bio, - birthdate, - first_name, - gender, - is_public, - last_name, - location, - social_links, - username, -}; -``` - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/apps/web/src/types/generated/docs/InternalHandlersValidateRequest.md b/apps/web/src/types/generated/docs/InternalHandlersValidateRequest.md deleted file mode 100644 index fc000ef83..000000000 --- a/apps/web/src/types/generated/docs/InternalHandlersValidateRequest.md +++ /dev/null @@ -1,22 +0,0 @@ -# InternalHandlersValidateRequest - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**data** | **Array<number>** | The data to validate | [default to undefined] -**type** | **string** | e.g., \"RegisterRequest\", \"LoginRequest\" | [default to undefined] - -## Example - -```typescript -import { InternalHandlersValidateRequest } from './api'; - -const instance: InternalHandlersValidateRequest = { - data, - type, -}; -``` - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/apps/web/src/types/generated/docs/InternalHandlersValidateResponse.md b/apps/web/src/types/generated/docs/InternalHandlersValidateResponse.md deleted file mode 100644 index 7595bc4e4..000000000 --- a/apps/web/src/types/generated/docs/InternalHandlersValidateResponse.md +++ /dev/null @@ -1,24 +0,0 @@ -# InternalHandlersValidateResponse - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**errors** | [**Array<VezaBackendApiInternalDtoValidationError>**](VezaBackendApiInternalDtoValidationError.md) | | [optional] [default to undefined] -**message** | **string** | | [optional] [default to undefined] -**valid** | **boolean** | | [optional] [default to undefined] - -## Example - -```typescript -import { InternalHandlersValidateResponse } from './api'; - -const instance: InternalHandlersValidateResponse = { - errors, - message, - valid, -}; -``` - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/apps/web/src/types/generated/docs/InternalHandlersVerifyTwoFactorRequest.md b/apps/web/src/types/generated/docs/InternalHandlersVerifyTwoFactorRequest.md deleted file mode 100644 index dceaae175..000000000 --- a/apps/web/src/types/generated/docs/InternalHandlersVerifyTwoFactorRequest.md +++ /dev/null @@ -1,22 +0,0 @@ -# InternalHandlersVerifyTwoFactorRequest - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**code** | **string** | TOTP code to verify | [default to undefined] -**secret** | **string** | Secret from setup step | [default to undefined] - -## Example - -```typescript -import { InternalHandlersVerifyTwoFactorRequest } from './api'; - -const instance: InternalHandlersVerifyTwoFactorRequest = { - code, - secret, -}; -``` - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/apps/web/src/types/generated/docs/LoggingApi.md b/apps/web/src/types/generated/docs/LoggingApi.md deleted file mode 100644 index 6807b4638..000000000 --- a/apps/web/src/types/generated/docs/LoggingApi.md +++ /dev/null @@ -1,62 +0,0 @@ -# LoggingApi - -All URIs are relative to *http://localhost:18080/api/v1* - -|Method | HTTP request | Description| -|------------- | ------------- | -------------| -|[**apiV1LogsFrontendPost**](#apiv1logsfrontendpost) | **POST** /api/v1/logs/frontend | Receive frontend log| - -# **apiV1LogsFrontendPost** -> ApiV1LogsFrontendPost200Response apiV1LogsFrontendPost(log) - -Receive and store a log entry from the frontend application - -### Example - -```typescript -import { - LoggingApi, - Configuration, - InternalHandlersFrontendLogRequest -} from './api'; - -const configuration = new Configuration(); -const apiInstance = new LoggingApi(configuration); - -let log: InternalHandlersFrontendLogRequest; //Frontend log entry - -const { status, data } = await apiInstance.apiV1LogsFrontendPost( - log -); -``` - -### Parameters - -|Name | Type | Description | Notes| -|------------- | ------------- | ------------- | -------------| -| **log** | **InternalHandlersFrontendLogRequest**| Frontend log entry | | - - -### Return type - -**ApiV1LogsFrontendPost200Response** - -### Authorization - -No authorization required - -### HTTP request headers - - - **Content-Type**: application/json - - **Accept**: application/json - - -### HTTP response details -| Status code | Description | Response headers | -|-------------|-------------|------------------| -|**200** | OK | - | -|**400** | Invalid log entry | - | -|**500** | Internal server error | - | - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - diff --git a/apps/web/src/types/generated/docs/MarketplaceApi.md b/apps/web/src/types/generated/docs/MarketplaceApi.md deleted file mode 100644 index 7eab58dee..000000000 --- a/apps/web/src/types/generated/docs/MarketplaceApi.md +++ /dev/null @@ -1,407 +0,0 @@ -# MarketplaceApi - -All URIs are relative to *http://localhost:18080/api/v1* - -|Method | HTTP request | Description| -|------------- | ------------- | -------------| -|[**apiV1MarketplaceDownloadProductIdGet**](#apiv1marketplacedownloadproductidget) | **GET** /api/v1/marketplace/download/{product_id} | Get download URL| -|[**apiV1MarketplaceOrdersGet**](#apiv1marketplaceordersget) | **GET** /api/v1/marketplace/orders | List user orders| -|[**apiV1MarketplaceOrdersIdGet**](#apiv1marketplaceordersidget) | **GET** /api/v1/marketplace/orders/{id} | Get order details| -|[**apiV1MarketplaceOrdersPost**](#apiv1marketplaceorderspost) | **POST** /api/v1/marketplace/orders | Create a new order| -|[**apiV1MarketplaceProductsGet**](#apiv1marketplaceproductsget) | **GET** /api/v1/marketplace/products | List products| -|[**apiV1MarketplaceProductsIdPut**](#apiv1marketplaceproductsidput) | **PUT** /api/v1/marketplace/products/{id} | Update a product| -|[**apiV1MarketplaceProductsPost**](#apiv1marketplaceproductspost) | **POST** /api/v1/marketplace/products | Create a new product| - -# **apiV1MarketplaceDownloadProductIdGet** -> { [key: string]: string; } apiV1MarketplaceDownloadProductIdGet() - -Get a secure download URL for a purchased product - -### Example - -```typescript -import { - MarketplaceApi, - Configuration -} from './api'; - -const configuration = new Configuration(); -const apiInstance = new MarketplaceApi(configuration); - -let productId: string; //Product ID (default to undefined) - -const { status, data } = await apiInstance.apiV1MarketplaceDownloadProductIdGet( - productId -); -``` - -### Parameters - -|Name | Type | Description | Notes| -|------------- | ------------- | ------------- | -------------| -| **productId** | [**string**] | Product ID | defaults to undefined| - - -### Return type - -**{ [key: string]: string; }** - -### Authorization - -[BearerAuth](../README.md#BearerAuth) - -### HTTP request headers - - - **Content-Type**: Not defined - - **Accept**: application/json - - -### HTTP response details -| Status code | Description | Response headers | -|-------------|-------------|------------------| -|**200** | OK | - | -|**403** | No license | - | -|**404** | Not Found | - | - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **apiV1MarketplaceOrdersGet** -> Array apiV1MarketplaceOrdersGet() - -Get all orders for the authenticated user - -### Example - -```typescript -import { - MarketplaceApi, - Configuration -} from './api'; - -const configuration = new Configuration(); -const apiInstance = new MarketplaceApi(configuration); - -const { status, data } = await apiInstance.apiV1MarketplaceOrdersGet(); -``` - -### Parameters -This endpoint does not have any parameters. - - -### Return type - -**Array** - -### Authorization - -[BearerAuth](../README.md#BearerAuth) - -### HTTP request headers - - - **Content-Type**: Not defined - - **Accept**: application/json - - -### HTTP response details -| Status code | Description | Response headers | -|-------------|-------------|------------------| -|**200** | OK | - | -|**401** | Unauthorized | - | -|**500** | Internal Error | - | - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **apiV1MarketplaceOrdersIdGet** -> VezaBackendApiInternalCoreMarketplaceOrder apiV1MarketplaceOrdersIdGet() - -Get details of a specific order (only order owner can access) - -### Example - -```typescript -import { - MarketplaceApi, - Configuration -} from './api'; - -const configuration = new Configuration(); -const apiInstance = new MarketplaceApi(configuration); - -let id: string; //Order ID (default to undefined) - -const { status, data } = await apiInstance.apiV1MarketplaceOrdersIdGet( - id -); -``` - -### Parameters - -|Name | Type | Description | Notes| -|------------- | ------------- | ------------- | -------------| -| **id** | [**string**] | Order ID | defaults to undefined| - - -### Return type - -**VezaBackendApiInternalCoreMarketplaceOrder** - -### Authorization - -[BearerAuth](../README.md#BearerAuth) - -### HTTP request headers - - - **Content-Type**: Not defined - - **Accept**: application/json - - -### HTTP response details -| Status code | Description | Response headers | -|-------------|-------------|------------------| -|**200** | OK | - | -|**400** | Validation Error | - | -|**401** | Unauthorized | - | -|**403** | Forbidden - Not order owner | - | -|**404** | Order not found | - | - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **apiV1MarketplaceOrdersPost** -> VezaBackendApiInternalCoreMarketplaceOrder apiV1MarketplaceOrdersPost(order) - -Purchase products - -### Example - -```typescript -import { - MarketplaceApi, - Configuration, - InternalHandlersCreateOrderRequest -} from './api'; - -const configuration = new Configuration(); -const apiInstance = new MarketplaceApi(configuration); - -let order: InternalHandlersCreateOrderRequest; //Order items - -const { status, data } = await apiInstance.apiV1MarketplaceOrdersPost( - order -); -``` - -### Parameters - -|Name | Type | Description | Notes| -|------------- | ------------- | ------------- | -------------| -| **order** | **InternalHandlersCreateOrderRequest**| Order items | | - - -### Return type - -**VezaBackendApiInternalCoreMarketplaceOrder** - -### Authorization - -[BearerAuth](../README.md#BearerAuth) - -### HTTP request headers - - - **Content-Type**: application/json - - **Accept**: application/json - - -### HTTP response details -| Status code | Description | Response headers | -|-------------|-------------|------------------| -|**201** | Created | - | -|**400** | Validation Error | - | -|**401** | Unauthorized | - | - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **apiV1MarketplaceProductsGet** -> Array apiV1MarketplaceProductsGet() - -List marketplace products with filters - -### Example - -```typescript -import { - MarketplaceApi, - Configuration -} from './api'; - -const configuration = new Configuration(); -const apiInstance = new MarketplaceApi(configuration); - -let status: string; //Product status (optional) (default to undefined) -let sellerId: string; //Seller ID (optional) (default to undefined) -let q: string; //Search query (optional) (default to undefined) -let type: string; //Product type (track, pack, service) (optional) (default to undefined) -let minPrice: number; //Minimum price (optional) (default to undefined) -let maxPrice: number; //Maximum price (optional) (default to undefined) -let page: number; //Page number (optional) (default to undefined) -let limit: number; //Items per page (optional) (default to undefined) - -const { status, data } = await apiInstance.apiV1MarketplaceProductsGet( - status, - sellerId, - q, - type, - minPrice, - maxPrice, - page, - limit -); -``` - -### Parameters - -|Name | Type | Description | Notes| -|------------- | ------------- | ------------- | -------------| -| **status** | [**string**] | Product status | (optional) defaults to undefined| -| **sellerId** | [**string**] | Seller ID | (optional) defaults to undefined| -| **q** | [**string**] | Search query | (optional) defaults to undefined| -| **type** | [**string**] | Product type (track, pack, service) | (optional) defaults to undefined| -| **minPrice** | [**number**] | Minimum price | (optional) defaults to undefined| -| **maxPrice** | [**number**] | Maximum price | (optional) defaults to undefined| -| **page** | [**number**] | Page number | (optional) defaults to undefined| -| **limit** | [**number**] | Items per page | (optional) defaults to undefined| - - -### Return type - -**Array** - -### Authorization - -No authorization required - -### HTTP request headers - - - **Content-Type**: Not defined - - **Accept**: application/json - - -### HTTP response details -| Status code | Description | Response headers | -|-------------|-------------|------------------| -|**200** | OK | - | - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **apiV1MarketplaceProductsIdPut** -> VezaBackendApiInternalCoreMarketplaceProduct apiV1MarketplaceProductsIdPut(product) - -Update product details (only seller can update) - -### Example - -```typescript -import { - MarketplaceApi, - Configuration, - InternalHandlersUpdateProductRequest -} from './api'; - -const configuration = new Configuration(); -const apiInstance = new MarketplaceApi(configuration); - -let id: string; //Product ID (default to undefined) -let product: InternalHandlersUpdateProductRequest; //Product updates - -const { status, data } = await apiInstance.apiV1MarketplaceProductsIdPut( - id, - product -); -``` - -### Parameters - -|Name | Type | Description | Notes| -|------------- | ------------- | ------------- | -------------| -| **product** | **InternalHandlersUpdateProductRequest**| Product updates | | -| **id** | [**string**] | Product ID | defaults to undefined| - - -### Return type - -**VezaBackendApiInternalCoreMarketplaceProduct** - -### Authorization - -[BearerAuth](../README.md#BearerAuth) - -### HTTP request headers - - - **Content-Type**: application/json - - **Accept**: application/json - - -### HTTP response details -| Status code | Description | Response headers | -|-------------|-------------|------------------| -|**200** | OK | - | -|**400** | Validation Error | - | -|**401** | Unauthorized | - | -|**403** | Forbidden - Not product owner | - | -|**404** | Product not found | - | - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **apiV1MarketplaceProductsPost** -> VezaBackendApiInternalCoreMarketplaceProduct apiV1MarketplaceProductsPost(product) - -Create a product (Track, Pack, Service) for sale - -### Example - -```typescript -import { - MarketplaceApi, - Configuration, - InternalHandlersCreateProductRequest -} from './api'; - -const configuration = new Configuration(); -const apiInstance = new MarketplaceApi(configuration); - -let product: InternalHandlersCreateProductRequest; //Product info - -const { status, data } = await apiInstance.apiV1MarketplaceProductsPost( - product -); -``` - -### Parameters - -|Name | Type | Description | Notes| -|------------- | ------------- | ------------- | -------------| -| **product** | **InternalHandlersCreateProductRequest**| Product info | | - - -### Return type - -**VezaBackendApiInternalCoreMarketplaceProduct** - -### Authorization - -[BearerAuth](../README.md#BearerAuth) - -### HTTP request headers - - - **Content-Type**: application/json - - **Accept**: application/json - - -### HTTP response details -| Status code | Description | Response headers | -|-------------|-------------|------------------| -|**201** | Created | - | -|**400** | Validation Error | - | -|**401** | Unauthorized | - | - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - diff --git a/apps/web/src/types/generated/docs/PlaylistApi.md b/apps/web/src/types/generated/docs/PlaylistApi.md deleted file mode 100644 index 598066f63..000000000 --- a/apps/web/src/types/generated/docs/PlaylistApi.md +++ /dev/null @@ -1,1147 +0,0 @@ -# PlaylistApi - -All URIs are relative to *http://localhost:18080/api/v1* - -|Method | HTTP request | Description| -|------------- | ------------- | -------------| -|[**playlistsFavorisGet**](#playlistsfavorisget) | **GET** /playlists/favoris | Get Favoris playlist| -|[**playlistsGet**](#playlistsget) | **GET** /playlists | Get Playlists| -|[**playlistsIdAnalyticsGet**](#playlistsidanalyticsget) | **GET** /playlists/{id}/analytics | Get playlist statistics| -|[**playlistsIdCollaboratorsGet**](#playlistsidcollaboratorsget) | **GET** /playlists/{id}/collaborators | List playlist collaborators| -|[**playlistsIdCollaboratorsPost**](#playlistsidcollaboratorspost) | **POST** /playlists/{id}/collaborators | Add playlist collaborator| -|[**playlistsIdCollaboratorsUserIdDelete**](#playlistsidcollaboratorsuseriddelete) | **DELETE** /playlists/{id}/collaborators/{userId} | Remove playlist collaborator| -|[**playlistsIdCollaboratorsUserIdPut**](#playlistsidcollaboratorsuseridput) | **PUT** /playlists/{id}/collaborators/{userId} | Update collaborator permission| -|[**playlistsIdDelete**](#playlistsiddelete) | **DELETE** /playlists/{id} | Delete Playlist| -|[**playlistsIdDuplicatePost**](#playlistsidduplicatepost) | **POST** /playlists/{id}/duplicate | Duplicate playlist| -|[**playlistsIdGet**](#playlistsidget) | **GET** /playlists/{id} | Get Playlist by ID| -|[**playlistsIdPut**](#playlistsidput) | **PUT** /playlists/{id} | Update Playlist| -|[**playlistsIdSharePost**](#playlistsidsharepost) | **POST** /playlists/{id}/share | Create playlist share link| -|[**playlistsIdTracksPost**](#playlistsidtrackspost) | **POST** /playlists/{id}/tracks | Add Track to Playlist| -|[**playlistsIdTracksReorderPut**](#playlistsidtracksreorderput) | **PUT** /playlists/{id}/tracks/reorder | Reorder Tracks| -|[**playlistsIdTracksTrackIdDelete**](#playlistsidtrackstrackiddelete) | **DELETE** /playlists/{id}/tracks/{trackId} | Remove Track from Playlist| -|[**playlistsImportPost**](#playlistsimportpost) | **POST** /playlists/import | Import playlist| -|[**playlistsPost**](#playlistspost) | **POST** /playlists | Create Playlist| -|[**playlistsRecommendationsGet**](#playlistsrecommendationsget) | **GET** /playlists/recommendations | Get playlist recommendations| -|[**playlistsSearchGet**](#playlistssearchget) | **GET** /playlists/search | Search playlists| -|[**playlistsSharedTokenGet**](#playlistssharedtokenget) | **GET** /playlists/shared/{token} | Get playlist by share token| - -# **playlistsFavorisGet** -> PlaylistsPost201Response playlistsFavorisGet() - -Returns the authenticated user\'s \"Favoris\" playlist. Auto-created on first call. Used by the like-as-save pattern. - -### Example - -```typescript -import { - PlaylistApi, - Configuration -} from './api'; - -const configuration = new Configuration(); -const apiInstance = new PlaylistApi(configuration); - -const { status, data } = await apiInstance.playlistsFavorisGet(); -``` - -### Parameters -This endpoint does not have any parameters. - - -### Return type - -**PlaylistsPost201Response** - -### Authorization - -[BearerAuth](../README.md#BearerAuth) - -### HTTP request headers - - - **Content-Type**: Not defined - - **Accept**: application/json - - -### HTTP response details -| Status code | Description | Response headers | -|-------------|-------------|------------------| -|**200** | OK | - | -|**401** | Unauthorized | - | -|**500** | Internal Error | - | - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **playlistsGet** -> PlaylistsGet200Response playlistsGet() - -Get a paginated list of playlists - -### Example - -```typescript -import { - PlaylistApi, - Configuration -} from './api'; - -const configuration = new Configuration(); -const apiInstance = new PlaylistApi(configuration); - -let page: number; //Page number (optional) (default to 1) -let limit: number; //Items per page (optional) (default to 20) -let userId: string; //Filter by User ID (optional) (default to undefined) - -const { status, data } = await apiInstance.playlistsGet( - page, - limit, - userId -); -``` - -### Parameters - -|Name | Type | Description | Notes| -|------------- | ------------- | ------------- | -------------| -| **page** | [**number**] | Page number | (optional) defaults to 1| -| **limit** | [**number**] | Items per page | (optional) defaults to 20| -| **userId** | [**string**] | Filter by User ID | (optional) defaults to undefined| - - -### Return type - -**PlaylistsGet200Response** - -### Authorization - -[BearerAuth](../README.md#BearerAuth) - -### HTTP request headers - - - **Content-Type**: Not defined - - **Accept**: application/json - - -### HTTP response details -| Status code | Description | Response headers | -|-------------|-------------|------------------| -|**200** | OK | - | -|**500** | Internal Error | - | - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **playlistsIdAnalyticsGet** -> AuditStatsGet200Response playlistsIdAnalyticsGet() - -Returns aggregated stats for a playlist (plays, follows, tracks count, etc.). Visible to the owner, collaborators and admins. - -### Example - -```typescript -import { - PlaylistApi, - Configuration -} from './api'; - -const configuration = new Configuration(); -const apiInstance = new PlaylistApi(configuration); - -let id: string; //Playlist UUID (default to undefined) - -const { status, data } = await apiInstance.playlistsIdAnalyticsGet( - id -); -``` - -### Parameters - -|Name | Type | Description | Notes| -|------------- | ------------- | ------------- | -------------| -| **id** | [**string**] | Playlist UUID | defaults to undefined| - - -### Return type - -**AuditStatsGet200Response** - -### Authorization - -[BearerAuth](../README.md#BearerAuth) - -### HTTP request headers - - - **Content-Type**: Not defined - - **Accept**: application/json - - -### HTTP response details -| Status code | Description | Response headers | -|-------------|-------------|------------------| -|**200** | OK | - | -|**400** | Invalid id | - | -|**401** | Unauthorized | - | -|**403** | Forbidden | - | -|**404** | Playlist not found | - | -|**500** | Internal Error | - | - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **playlistsIdCollaboratorsGet** -> PlaylistsIdCollaboratorsGet200Response playlistsIdCollaboratorsGet() - -Returns the collaborators of a playlist with their permission level. - -### Example - -```typescript -import { - PlaylistApi, - Configuration -} from './api'; - -const configuration = new Configuration(); -const apiInstance = new PlaylistApi(configuration); - -let id: string; //Playlist UUID (default to undefined) - -const { status, data } = await apiInstance.playlistsIdCollaboratorsGet( - id -); -``` - -### Parameters - -|Name | Type | Description | Notes| -|------------- | ------------- | ------------- | -------------| -| **id** | [**string**] | Playlist UUID | defaults to undefined| - - -### Return type - -**PlaylistsIdCollaboratorsGet200Response** - -### Authorization - -[BearerAuth](../README.md#BearerAuth) - -### HTTP request headers - - - **Content-Type**: Not defined - - **Accept**: application/json - - -### HTTP response details -| Status code | Description | Response headers | -|-------------|-------------|------------------| -|**200** | OK | - | -|**400** | Invalid id | - | -|**401** | Unauthorized | - | -|**404** | Playlist not found | - | -|**500** | Internal Error | - | - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **playlistsIdCollaboratorsPost** -> PlaylistsIdCollaboratorsPost200Response playlistsIdCollaboratorsPost(request) - -Invite a user as collaborator. Only the owner (or admin) can add. - -### Example - -```typescript -import { - PlaylistApi, - Configuration, - InternalHandlersAddCollaboratorRequest -} from './api'; - -const configuration = new Configuration(); -const apiInstance = new PlaylistApi(configuration); - -let id: string; //Playlist UUID (default to undefined) -let request: InternalHandlersAddCollaboratorRequest; //Collaborator + permission - -const { status, data } = await apiInstance.playlistsIdCollaboratorsPost( - id, - request -); -``` - -### Parameters - -|Name | Type | Description | Notes| -|------------- | ------------- | ------------- | -------------| -| **request** | **InternalHandlersAddCollaboratorRequest**| Collaborator + permission | | -| **id** | [**string**] | Playlist UUID | defaults to undefined| - - -### Return type - -**PlaylistsIdCollaboratorsPost200Response** - -### Authorization - -[BearerAuth](../README.md#BearerAuth) - -### HTTP request headers - - - **Content-Type**: application/json - - **Accept**: application/json - - -### HTTP response details -| Status code | Description | Response headers | -|-------------|-------------|------------------| -|**200** | OK | - | -|**400** | Validation | - | -|**401** | Unauthorized | - | -|**403** | Not owner | - | -|**404** | Playlist not found | - | -|**500** | Internal Error | - | - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **playlistsIdCollaboratorsUserIdDelete** -> Auth2faDisablePost200Response playlistsIdCollaboratorsUserIdDelete() - -Revoke a collaborator\'s access. Only the owner (or admin) can remove. - -### Example - -```typescript -import { - PlaylistApi, - Configuration -} from './api'; - -const configuration = new Configuration(); -const apiInstance = new PlaylistApi(configuration); - -let id: string; //Playlist UUID (default to undefined) -let userId: string; //Collaborator user UUID (default to undefined) - -const { status, data } = await apiInstance.playlistsIdCollaboratorsUserIdDelete( - id, - userId -); -``` - -### Parameters - -|Name | Type | Description | Notes| -|------------- | ------------- | ------------- | -------------| -| **id** | [**string**] | Playlist UUID | defaults to undefined| -| **userId** | [**string**] | Collaborator user UUID | defaults to undefined| - - -### Return type - -**Auth2faDisablePost200Response** - -### Authorization - -[BearerAuth](../README.md#BearerAuth) - -### HTTP request headers - - - **Content-Type**: Not defined - - **Accept**: application/json - - -### HTTP response details -| Status code | Description | Response headers | -|-------------|-------------|------------------| -|**200** | OK | - | -|**400** | Validation | - | -|**401** | Unauthorized | - | -|**403** | Not owner | - | -|**404** | Playlist or collaborator not found | - | -|**500** | Internal Error | - | - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **playlistsIdCollaboratorsUserIdPut** -> PlaylistsIdCollaboratorsPost200Response playlistsIdCollaboratorsUserIdPut(request) - -Change a collaborator\'s permission level (read / write / admin). Only the owner can update. - -### Example - -```typescript -import { - PlaylistApi, - Configuration, - InternalHandlersUpdateCollaboratorPermissionRequest -} from './api'; - -const configuration = new Configuration(); -const apiInstance = new PlaylistApi(configuration); - -let id: string; //Playlist UUID (default to undefined) -let userId: string; //Collaborator user UUID (default to undefined) -let request: InternalHandlersUpdateCollaboratorPermissionRequest; //New permission - -const { status, data } = await apiInstance.playlistsIdCollaboratorsUserIdPut( - id, - userId, - request -); -``` - -### Parameters - -|Name | Type | Description | Notes| -|------------- | ------------- | ------------- | -------------| -| **request** | **InternalHandlersUpdateCollaboratorPermissionRequest**| New permission | | -| **id** | [**string**] | Playlist UUID | defaults to undefined| -| **userId** | [**string**] | Collaborator user UUID | defaults to undefined| - - -### Return type - -**PlaylistsIdCollaboratorsPost200Response** - -### Authorization - -[BearerAuth](../README.md#BearerAuth) - -### HTTP request headers - - - **Content-Type**: application/json - - **Accept**: application/json - - -### HTTP response details -| Status code | Description | Response headers | -|-------------|-------------|------------------| -|**200** | OK | - | -|**400** | Validation | - | -|**401** | Unauthorized | - | -|**403** | Not owner | - | -|**404** | Playlist or collaborator not found | - | -|**500** | Internal Error | - | - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **playlistsIdDelete** -> Auth2faDisablePost200Response playlistsIdDelete() - -Permanently delete a playlist - -### Example - -```typescript -import { - PlaylistApi, - Configuration -} from './api'; - -const configuration = new Configuration(); -const apiInstance = new PlaylistApi(configuration); - -let id: string; //Playlist ID (default to undefined) - -const { status, data } = await apiInstance.playlistsIdDelete( - id -); -``` - -### Parameters - -|Name | Type | Description | Notes| -|------------- | ------------- | ------------- | -------------| -| **id** | [**string**] | Playlist ID | defaults to undefined| - - -### Return type - -**Auth2faDisablePost200Response** - -### Authorization - -[BearerAuth](../README.md#BearerAuth) - -### HTTP request headers - - - **Content-Type**: Not defined - - **Accept**: application/json - - -### HTTP response details -| Status code | Description | Response headers | -|-------------|-------------|------------------| -|**200** | OK | - | -|**401** | Unauthorized | - | -|**403** | Forbidden | - | -|**404** | Playlist not found | - | - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **playlistsIdDuplicatePost** -> PlaylistsPost201Response playlistsIdDuplicatePost() - -Copy a playlist\'s track list into a new playlist owned by the authenticated user. Cover/description copied; original unchanged. - -### Example - -```typescript -import { - PlaylistApi, - Configuration -} from './api'; - -const configuration = new Configuration(); -const apiInstance = new PlaylistApi(configuration); - -let id: string; //Source playlist UUID (default to undefined) - -const { status, data } = await apiInstance.playlistsIdDuplicatePost( - id -); -``` - -### Parameters - -|Name | Type | Description | Notes| -|------------- | ------------- | ------------- | -------------| -| **id** | [**string**] | Source playlist UUID | defaults to undefined| - - -### Return type - -**PlaylistsPost201Response** - -### Authorization - -[BearerAuth](../README.md#BearerAuth) - -### HTTP request headers - - - **Content-Type**: Not defined - - **Accept**: application/json - - -### HTTP response details -| Status code | Description | Response headers | -|-------------|-------------|------------------| -|**201** | Created | - | -|**400** | Invalid id | - | -|**401** | Unauthorized | - | -|**403** | Source not visible | - | -|**404** | Source playlist not found | - | -|**500** | Internal Error | - | - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **playlistsIdGet** -> PlaylistsPost201Response playlistsIdGet() - -Get detailed information about a playlist - -### Example - -```typescript -import { - PlaylistApi, - Configuration -} from './api'; - -const configuration = new Configuration(); -const apiInstance = new PlaylistApi(configuration); - -let id: string; //Playlist ID (default to undefined) - -const { status, data } = await apiInstance.playlistsIdGet( - id -); -``` - -### Parameters - -|Name | Type | Description | Notes| -|------------- | ------------- | ------------- | -------------| -| **id** | [**string**] | Playlist ID | defaults to undefined| - - -### Return type - -**PlaylistsPost201Response** - -### Authorization - -[BearerAuth](../README.md#BearerAuth) - -### HTTP request headers - - - **Content-Type**: Not defined - - **Accept**: application/json - - -### HTTP response details -| Status code | Description | Response headers | -|-------------|-------------|------------------| -|**200** | OK | - | -|**400** | Invalid ID | - | -|**404** | Playlist not found | - | - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **playlistsIdPut** -> PlaylistsPost201Response playlistsIdPut(playlist) - -Update playlist metadata - -### Example - -```typescript -import { - PlaylistApi, - Configuration, - InternalHandlersUpdatePlaylistRequest -} from './api'; - -const configuration = new Configuration(); -const apiInstance = new PlaylistApi(configuration); - -let id: string; //Playlist ID (default to undefined) -let playlist: InternalHandlersUpdatePlaylistRequest; //Playlist Metadata - -const { status, data } = await apiInstance.playlistsIdPut( - id, - playlist -); -``` - -### Parameters - -|Name | Type | Description | Notes| -|------------- | ------------- | ------------- | -------------| -| **playlist** | **InternalHandlersUpdatePlaylistRequest**| Playlist Metadata | | -| **id** | [**string**] | Playlist ID | defaults to undefined| - - -### Return type - -**PlaylistsPost201Response** - -### Authorization - -[BearerAuth](../README.md#BearerAuth) - -### HTTP request headers - - - **Content-Type**: application/json - - **Accept**: application/json - - -### HTTP response details -| Status code | Description | Response headers | -|-------------|-------------|------------------| -|**200** | OK | - | -|**400** | Validation Error | - | -|**401** | Unauthorized | - | -|**403** | Forbidden | - | -|**404** | Playlist not found | - | - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **playlistsIdSharePost** -> PlaylistsIdSharePost200Response playlistsIdSharePost() - -Generate a tokenised link to share a playlist (read-only). Only owner / admin can issue. No body required. - -### Example - -```typescript -import { - PlaylistApi, - Configuration -} from './api'; - -const configuration = new Configuration(); -const apiInstance = new PlaylistApi(configuration); - -let id: string; //Playlist UUID (default to undefined) - -const { status, data } = await apiInstance.playlistsIdSharePost( - id -); -``` - -### Parameters - -|Name | Type | Description | Notes| -|------------- | ------------- | ------------- | -------------| -| **id** | [**string**] | Playlist UUID | defaults to undefined| - - -### Return type - -**PlaylistsIdSharePost200Response** - -### Authorization - -[BearerAuth](../README.md#BearerAuth) - -### HTTP request headers - - - **Content-Type**: Not defined - - **Accept**: application/json - - -### HTTP response details -| Status code | Description | Response headers | -|-------------|-------------|------------------| -|**200** | OK | - | -|**400** | Validation | - | -|**401** | Unauthorized | - | -|**403** | Not owner | - | -|**404** | Playlist not found | - | -|**500** | Internal Error | - | - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **playlistsIdTracksPost** -> Auth2faDisablePost200Response playlistsIdTracksPost(trackId) - -Add a track to the playlist - -### Example - -```typescript -import { - PlaylistApi, - Configuration, - PlaylistsIdTracksPostRequest -} from './api'; - -const configuration = new Configuration(); -const apiInstance = new PlaylistApi(configuration); - -let id: string; //Playlist ID (default to undefined) -let trackId: PlaylistsIdTracksPostRequest; //Track ID (in body) - -const { status, data } = await apiInstance.playlistsIdTracksPost( - id, - trackId -); -``` - -### Parameters - -|Name | Type | Description | Notes| -|------------- | ------------- | ------------- | -------------| -| **trackId** | **PlaylistsIdTracksPostRequest**| Track ID (in body) | | -| **id** | [**string**] | Playlist ID | defaults to undefined| - - -### Return type - -**Auth2faDisablePost200Response** - -### Authorization - -[BearerAuth](../README.md#BearerAuth) - -### HTTP request headers - - - **Content-Type**: application/json - - **Accept**: application/json - - -### HTTP response details -| Status code | Description | Response headers | -|-------------|-------------|------------------| -|**200** | OK | - | -|**400** | Track already present or invalid ID | - | -|**404** | Playlist or Track not found | - | - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **playlistsIdTracksReorderPut** -> Auth2faDisablePost200Response playlistsIdTracksReorderPut(order) - -Reorder tracks in the playlist - -### Example - -```typescript -import { - PlaylistApi, - Configuration, - InternalHandlersReorderTracksRequest -} from './api'; - -const configuration = new Configuration(); -const apiInstance = new PlaylistApi(configuration); - -let id: string; //Playlist ID (default to undefined) -let order: InternalHandlersReorderTracksRequest; //New Track Order - -const { status, data } = await apiInstance.playlistsIdTracksReorderPut( - id, - order -); -``` - -### Parameters - -|Name | Type | Description | Notes| -|------------- | ------------- | ------------- | -------------| -| **order** | **InternalHandlersReorderTracksRequest**| New Track Order | | -| **id** | [**string**] | Playlist ID | defaults to undefined| - - -### Return type - -**Auth2faDisablePost200Response** - -### Authorization - -[BearerAuth](../README.md#BearerAuth) - -### HTTP request headers - - - **Content-Type**: application/json - - **Accept**: application/json - - -### HTTP response details -| Status code | Description | Response headers | -|-------------|-------------|------------------| -|**200** | OK | - | -|**400** | Validation Error | - | - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **playlistsIdTracksTrackIdDelete** -> Auth2faDisablePost200Response playlistsIdTracksTrackIdDelete() - -Remove a track from the playlist - -### Example - -```typescript -import { - PlaylistApi, - Configuration -} from './api'; - -const configuration = new Configuration(); -const apiInstance = new PlaylistApi(configuration); - -let id: string; //Playlist ID (default to undefined) -let trackId: string; //Track ID (default to undefined) - -const { status, data } = await apiInstance.playlistsIdTracksTrackIdDelete( - id, - trackId -); -``` - -### Parameters - -|Name | Type | Description | Notes| -|------------- | ------------- | ------------- | -------------| -| **id** | [**string**] | Playlist ID | defaults to undefined| -| **trackId** | [**string**] | Track ID | defaults to undefined| - - -### Return type - -**Auth2faDisablePost200Response** - -### Authorization - -[BearerAuth](../README.md#BearerAuth) - -### HTTP request headers - - - **Content-Type**: Not defined - - **Accept**: application/json - - -### HTTP response details -| Status code | Description | Response headers | -|-------------|-------------|------------------| -|**200** | OK | - | -|**404** | Playlist or Track not found | - | - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **playlistsImportPost** -> PlaylistsPost201Response playlistsImportPost(request) - -Create a playlist from a JSON payload (title, description, is_public, ordered track IDs). Useful for bulk seed / migration. - -### Example - -```typescript -import { - PlaylistApi, - Configuration, - InternalHandlersImportPlaylistRequest -} from './api'; - -const configuration = new Configuration(); -const apiInstance = new PlaylistApi(configuration); - -let request: InternalHandlersImportPlaylistRequest; //Playlist + tracks - -const { status, data } = await apiInstance.playlistsImportPost( - request -); -``` - -### Parameters - -|Name | Type | Description | Notes| -|------------- | ------------- | ------------- | -------------| -| **request** | **InternalHandlersImportPlaylistRequest**| Playlist + tracks | | - - -### Return type - -**PlaylistsPost201Response** - -### Authorization - -[BearerAuth](../README.md#BearerAuth) - -### HTTP request headers - - - **Content-Type**: application/json - - **Accept**: application/json - - -### HTTP response details -| Status code | Description | Response headers | -|-------------|-------------|------------------| -|**201** | Created | - | -|**400** | Validation | - | -|**401** | Unauthorized | - | -|**500** | Internal Error | - | - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **playlistsPost** -> PlaylistsPost201Response playlistsPost(request) - -Create a new playlist - -### Example - -```typescript -import { - PlaylistApi, - Configuration, - InternalHandlersCreatePlaylistRequest -} from './api'; - -const configuration = new Configuration(); -const apiInstance = new PlaylistApi(configuration); - -let request: InternalHandlersCreatePlaylistRequest; //Playlist Metadata - -const { status, data } = await apiInstance.playlistsPost( - request -); -``` - -### Parameters - -|Name | Type | Description | Notes| -|------------- | ------------- | ------------- | -------------| -| **request** | **InternalHandlersCreatePlaylistRequest**| Playlist Metadata | | - - -### Return type - -**PlaylistsPost201Response** - -### Authorization - -[BearerAuth](../README.md#BearerAuth) - -### HTTP request headers - - - **Content-Type**: application/json - - **Accept**: application/json - - -### HTTP response details -| Status code | Description | Response headers | -|-------------|-------------|------------------| -|**201** | Created | - | -|**400** | Validation Error | - | -|**401** | Unauthorized | - | -|**500** | Internal Error | - | - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **playlistsRecommendationsGet** -> PlaylistsRecommendationsGet200Response playlistsRecommendationsGet() - -Suggested playlists for the authenticated user. Chronological / declarative discovery — no behavioural ranking (CLAUDE.md rule 7). - -### Example - -```typescript -import { - PlaylistApi, - Configuration -} from './api'; - -const configuration = new Configuration(); -const apiInstance = new PlaylistApi(configuration); - -let limit: number; //Max items (max 100) (optional) (default to 20) - -const { status, data } = await apiInstance.playlistsRecommendationsGet( - limit -); -``` - -### Parameters - -|Name | Type | Description | Notes| -|------------- | ------------- | ------------- | -------------| -| **limit** | [**number**] | Max items (max 100) | (optional) defaults to 20| - - -### Return type - -**PlaylistsRecommendationsGet200Response** - -### Authorization - -[BearerAuth](../README.md#BearerAuth) - -### HTTP request headers - - - **Content-Type**: Not defined - - **Accept**: application/json - - -### HTTP response details -| Status code | Description | Response headers | -|-------------|-------------|------------------| -|**200** | OK | - | -|**401** | Unauthorized | - | -|**500** | Internal Error | - | - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **playlistsSearchGet** -> PlaylistsGet200Response playlistsSearchGet() - -Full-text search on public playlists (title + description). Paginated. - -### Example - -```typescript -import { - PlaylistApi, - Configuration -} from './api'; - -const configuration = new Configuration(); -const apiInstance = new PlaylistApi(configuration); - -let q: string; //Full-text query (optional) (default to undefined) -let page: number; //Page number (optional) (default to 1) -let limit: number; //Items per page (max 100) (optional) (default to 20) - -const { status, data } = await apiInstance.playlistsSearchGet( - q, - page, - limit -); -``` - -### Parameters - -|Name | Type | Description | Notes| -|------------- | ------------- | ------------- | -------------| -| **q** | [**string**] | Full-text query | (optional) defaults to undefined| -| **page** | [**number**] | Page number | (optional) defaults to 1| -| **limit** | [**number**] | Items per page (max 100) | (optional) defaults to 20| - - -### Return type - -**PlaylistsGet200Response** - -### Authorization - -No authorization required - -### HTTP request headers - - - **Content-Type**: Not defined - - **Accept**: application/json - - -### HTTP response details -| Status code | Description | Response headers | -|-------------|-------------|------------------| -|**200** | OK | - | -|**400** | Validation | - | -|**500** | Internal Error | - | - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **playlistsSharedTokenGet** -> PlaylistsPost201Response playlistsSharedTokenGet() - -Public endpoint resolving a share token. Allows unauthenticated access to the playlist snapshot + tracks. - -### Example - -```typescript -import { - PlaylistApi, - Configuration -} from './api'; - -const configuration = new Configuration(); -const apiInstance = new PlaylistApi(configuration); - -let token: string; //Share token (default to undefined) - -const { status, data } = await apiInstance.playlistsSharedTokenGet( - token -); -``` - -### Parameters - -|Name | Type | Description | Notes| -|------------- | ------------- | ------------- | -------------| -| **token** | [**string**] | Share token | defaults to undefined| - - -### Return type - -**PlaylistsPost201Response** - -### Authorization - -No authorization required - -### HTTP request headers - - - **Content-Type**: Not defined - - **Accept**: application/json - - -### HTTP response details -| Status code | Description | Response headers | -|-------------|-------------|------------------| -|**200** | OK | - | -|**400** | Missing token | - | -|**403** | Share expired | - | -|**404** | Share or playlist not found | - | -|**500** | Internal Error | - | - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - diff --git a/apps/web/src/types/generated/docs/PlaylistsGet200Response.md b/apps/web/src/types/generated/docs/PlaylistsGet200Response.md deleted file mode 100644 index 522a926df..000000000 --- a/apps/web/src/types/generated/docs/PlaylistsGet200Response.md +++ /dev/null @@ -1,24 +0,0 @@ -# PlaylistsGet200Response - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**data** | [**PlaylistsGet200ResponseAllOfData**](PlaylistsGet200ResponseAllOfData.md) | | [optional] [default to undefined] -**error** | **object** | | [optional] [default to undefined] -**success** | **boolean** | | [optional] [default to undefined] - -## Example - -```typescript -import { PlaylistsGet200Response } from './api'; - -const instance: PlaylistsGet200Response = { - data, - error, - success, -}; -``` - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/apps/web/src/types/generated/docs/PlaylistsGet200ResponseAllOfData.md b/apps/web/src/types/generated/docs/PlaylistsGet200ResponseAllOfData.md deleted file mode 100644 index d86176763..000000000 --- a/apps/web/src/types/generated/docs/PlaylistsGet200ResponseAllOfData.md +++ /dev/null @@ -1,22 +0,0 @@ -# PlaylistsGet200ResponseAllOfData - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**pagination** | **object** | | [optional] [default to undefined] -**playlists** | [**Array<VezaBackendApiInternalModelsPlaylist>**](VezaBackendApiInternalModelsPlaylist.md) | | [optional] [default to undefined] - -## Example - -```typescript -import { PlaylistsGet200ResponseAllOfData } from './api'; - -const instance: PlaylistsGet200ResponseAllOfData = { - pagination, - playlists, -}; -``` - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/apps/web/src/types/generated/docs/PlaylistsIdCollaboratorsGet200Response.md b/apps/web/src/types/generated/docs/PlaylistsIdCollaboratorsGet200Response.md deleted file mode 100644 index 6acc5bcc5..000000000 --- a/apps/web/src/types/generated/docs/PlaylistsIdCollaboratorsGet200Response.md +++ /dev/null @@ -1,24 +0,0 @@ -# PlaylistsIdCollaboratorsGet200Response - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**data** | [**PlaylistsIdCollaboratorsGet200ResponseAllOfData**](PlaylistsIdCollaboratorsGet200ResponseAllOfData.md) | | [optional] [default to undefined] -**error** | **object** | | [optional] [default to undefined] -**success** | **boolean** | | [optional] [default to undefined] - -## Example - -```typescript -import { PlaylistsIdCollaboratorsGet200Response } from './api'; - -const instance: PlaylistsIdCollaboratorsGet200Response = { - data, - error, - success, -}; -``` - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/apps/web/src/types/generated/docs/PlaylistsIdCollaboratorsGet200ResponseAllOfData.md b/apps/web/src/types/generated/docs/PlaylistsIdCollaboratorsGet200ResponseAllOfData.md deleted file mode 100644 index ed1351674..000000000 --- a/apps/web/src/types/generated/docs/PlaylistsIdCollaboratorsGet200ResponseAllOfData.md +++ /dev/null @@ -1,20 +0,0 @@ -# PlaylistsIdCollaboratorsGet200ResponseAllOfData - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**collaborators** | **Array<object>** | | [optional] [default to undefined] - -## Example - -```typescript -import { PlaylistsIdCollaboratorsGet200ResponseAllOfData } from './api'; - -const instance: PlaylistsIdCollaboratorsGet200ResponseAllOfData = { - collaborators, -}; -``` - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/apps/web/src/types/generated/docs/PlaylistsIdCollaboratorsPost200Response.md b/apps/web/src/types/generated/docs/PlaylistsIdCollaboratorsPost200Response.md deleted file mode 100644 index 92f11e43d..000000000 --- a/apps/web/src/types/generated/docs/PlaylistsIdCollaboratorsPost200Response.md +++ /dev/null @@ -1,24 +0,0 @@ -# PlaylistsIdCollaboratorsPost200Response - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**data** | [**PlaylistsIdCollaboratorsPost200ResponseAllOfData**](PlaylistsIdCollaboratorsPost200ResponseAllOfData.md) | | [optional] [default to undefined] -**error** | **object** | | [optional] [default to undefined] -**success** | **boolean** | | [optional] [default to undefined] - -## Example - -```typescript -import { PlaylistsIdCollaboratorsPost200Response } from './api'; - -const instance: PlaylistsIdCollaboratorsPost200Response = { - data, - error, - success, -}; -``` - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/apps/web/src/types/generated/docs/PlaylistsIdCollaboratorsPost200ResponseAllOfData.md b/apps/web/src/types/generated/docs/PlaylistsIdCollaboratorsPost200ResponseAllOfData.md deleted file mode 100644 index e7eaaa7ba..000000000 --- a/apps/web/src/types/generated/docs/PlaylistsIdCollaboratorsPost200ResponseAllOfData.md +++ /dev/null @@ -1,20 +0,0 @@ -# PlaylistsIdCollaboratorsPost200ResponseAllOfData - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**collaborator** | **object** | | [optional] [default to undefined] - -## Example - -```typescript -import { PlaylistsIdCollaboratorsPost200ResponseAllOfData } from './api'; - -const instance: PlaylistsIdCollaboratorsPost200ResponseAllOfData = { - collaborator, -}; -``` - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/apps/web/src/types/generated/docs/PlaylistsIdSharePost200Response.md b/apps/web/src/types/generated/docs/PlaylistsIdSharePost200Response.md deleted file mode 100644 index 11bf25066..000000000 --- a/apps/web/src/types/generated/docs/PlaylistsIdSharePost200Response.md +++ /dev/null @@ -1,24 +0,0 @@ -# PlaylistsIdSharePost200Response - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**data** | [**PlaylistsIdSharePost200ResponseAllOfData**](PlaylistsIdSharePost200ResponseAllOfData.md) | | [optional] [default to undefined] -**error** | **object** | | [optional] [default to undefined] -**success** | **boolean** | | [optional] [default to undefined] - -## Example - -```typescript -import { PlaylistsIdSharePost200Response } from './api'; - -const instance: PlaylistsIdSharePost200Response = { - data, - error, - success, -}; -``` - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/apps/web/src/types/generated/docs/PlaylistsIdSharePost200ResponseAllOfData.md b/apps/web/src/types/generated/docs/PlaylistsIdSharePost200ResponseAllOfData.md deleted file mode 100644 index 7f6d5a858..000000000 --- a/apps/web/src/types/generated/docs/PlaylistsIdSharePost200ResponseAllOfData.md +++ /dev/null @@ -1,20 +0,0 @@ -# PlaylistsIdSharePost200ResponseAllOfData - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**share** | **object** | | [optional] [default to undefined] - -## Example - -```typescript -import { PlaylistsIdSharePost200ResponseAllOfData } from './api'; - -const instance: PlaylistsIdSharePost200ResponseAllOfData = { - share, -}; -``` - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/apps/web/src/types/generated/docs/PlaylistsIdTracksPostRequest.md b/apps/web/src/types/generated/docs/PlaylistsIdTracksPostRequest.md deleted file mode 100644 index 40c29edba..000000000 --- a/apps/web/src/types/generated/docs/PlaylistsIdTracksPostRequest.md +++ /dev/null @@ -1,20 +0,0 @@ -# PlaylistsIdTracksPostRequest - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**track_id** | **string** | | [optional] [default to undefined] - -## Example - -```typescript -import { PlaylistsIdTracksPostRequest } from './api'; - -const instance: PlaylistsIdTracksPostRequest = { - track_id, -}; -``` - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/apps/web/src/types/generated/docs/PlaylistsPost201Response.md b/apps/web/src/types/generated/docs/PlaylistsPost201Response.md deleted file mode 100644 index 60c28f9fa..000000000 --- a/apps/web/src/types/generated/docs/PlaylistsPost201Response.md +++ /dev/null @@ -1,24 +0,0 @@ -# PlaylistsPost201Response - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**data** | [**PlaylistsPost201ResponseAllOfData**](PlaylistsPost201ResponseAllOfData.md) | | [optional] [default to undefined] -**error** | **object** | | [optional] [default to undefined] -**success** | **boolean** | | [optional] [default to undefined] - -## Example - -```typescript -import { PlaylistsPost201Response } from './api'; - -const instance: PlaylistsPost201Response = { - data, - error, - success, -}; -``` - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/apps/web/src/types/generated/docs/PlaylistsPost201ResponseAllOfData.md b/apps/web/src/types/generated/docs/PlaylistsPost201ResponseAllOfData.md deleted file mode 100644 index 5983d508f..000000000 --- a/apps/web/src/types/generated/docs/PlaylistsPost201ResponseAllOfData.md +++ /dev/null @@ -1,20 +0,0 @@ -# PlaylistsPost201ResponseAllOfData - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**playlist** | [**VezaBackendApiInternalModelsPlaylist**](VezaBackendApiInternalModelsPlaylist.md) | | [optional] [default to undefined] - -## Example - -```typescript -import { PlaylistsPost201ResponseAllOfData } from './api'; - -const instance: PlaylistsPost201ResponseAllOfData = { - playlist, -}; -``` - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/apps/web/src/types/generated/docs/PlaylistsRecommendationsGet200Response.md b/apps/web/src/types/generated/docs/PlaylistsRecommendationsGet200Response.md deleted file mode 100644 index 46a72ce78..000000000 --- a/apps/web/src/types/generated/docs/PlaylistsRecommendationsGet200Response.md +++ /dev/null @@ -1,24 +0,0 @@ -# PlaylistsRecommendationsGet200Response - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**data** | [**PlaylistsRecommendationsGet200ResponseAllOfData**](PlaylistsRecommendationsGet200ResponseAllOfData.md) | | [optional] [default to undefined] -**error** | **object** | | [optional] [default to undefined] -**success** | **boolean** | | [optional] [default to undefined] - -## Example - -```typescript -import { PlaylistsRecommendationsGet200Response } from './api'; - -const instance: PlaylistsRecommendationsGet200Response = { - data, - error, - success, -}; -``` - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/apps/web/src/types/generated/docs/PlaylistsRecommendationsGet200ResponseAllOfData.md b/apps/web/src/types/generated/docs/PlaylistsRecommendationsGet200ResponseAllOfData.md deleted file mode 100644 index 2ce61cfb8..000000000 --- a/apps/web/src/types/generated/docs/PlaylistsRecommendationsGet200ResponseAllOfData.md +++ /dev/null @@ -1,20 +0,0 @@ -# PlaylistsRecommendationsGet200ResponseAllOfData - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**playlists** | [**Array<VezaBackendApiInternalModelsPlaylist>**](VezaBackendApiInternalModelsPlaylist.md) | | [optional] [default to undefined] - -## Example - -```typescript -import { PlaylistsRecommendationsGet200ResponseAllOfData } from './api'; - -const instance: PlaylistsRecommendationsGet200ResponseAllOfData = { - playlists, -}; -``` - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/apps/web/src/types/generated/docs/TrackApi.md b/apps/web/src/types/generated/docs/TrackApi.md deleted file mode 100644 index d8349e1f5..000000000 --- a/apps/web/src/types/generated/docs/TrackApi.md +++ /dev/null @@ -1,2057 +0,0 @@ -# TrackApi - -All URIs are relative to *http://localhost:18080/api/v1* - -|Method | HTTP request | Description| -|------------- | ------------- | -------------| -|[**internalTracksIdStreamReadyPost**](#internaltracksidstreamreadypost) | **POST** /internal/tracks/{id}/stream-ready | Stream server callback| -|[**tracksBatchDeletePost**](#tracksbatchdeletepost) | **POST** /tracks/batch/delete | Batch delete tracks| -|[**tracksBatchUpdatePost**](#tracksbatchupdatepost) | **POST** /tracks/batch/update | Batch update tracks| -|[**tracksChunkPost**](#trackschunkpost) | **POST** /tracks/chunk | Upload Chunk| -|[**tracksCompletePost**](#trackscompletepost) | **POST** /tracks/complete | Complete Chunked Upload| -|[**tracksGet**](#tracksget) | **GET** /tracks | List tracks| -|[**tracksIdDelete**](#tracksiddelete) | **DELETE** /tracks/{id} | Delete track| -|[**tracksIdDownloadGet**](#tracksiddownloadget) | **GET** /tracks/{id}/download | Download a track| -|[**tracksIdGet**](#tracksidget) | **GET** /tracks/{id} | Get track by ID| -|[**tracksIdHistoryGet**](#tracksidhistoryget) | **GET** /tracks/{id}/history | Get track history| -|[**tracksIdLikeDelete**](#tracksidlikedelete) | **DELETE** /tracks/{id}/like | Unlike a track| -|[**tracksIdLikePost**](#tracksidlikepost) | **POST** /tracks/{id}/like | Like a track| -|[**tracksIdLikesGet**](#tracksidlikesget) | **GET** /tracks/{id}/likes | Get track like status| -|[**tracksIdLyricsGet**](#tracksidlyricsget) | **GET** /tracks/{id}/lyrics | Get track lyrics| -|[**tracksIdLyricsPut**](#tracksidlyricsput) | **PUT** /tracks/{id}/lyrics | Create or update track lyrics| -|[**tracksIdPlayPost**](#tracksidplaypost) | **POST** /tracks/{id}/play | Record play event| -|[**tracksIdPut**](#tracksidput) | **PUT** /tracks/{id} | Update track metadata| -|[**tracksIdRepostDelete**](#tracksidrepostdelete) | **DELETE** /tracks/{id}/repost | Remove track repost| -|[**tracksIdRepostGet**](#tracksidrepostget) | **GET** /tracks/{id}/repost | Get repost status| -|[**tracksIdRepostPost**](#tracksidrepostpost) | **POST** /tracks/{id}/repost | Repost a track| -|[**tracksIdSharePost**](#tracksidsharepost) | **POST** /tracks/{id}/share | Create share link| -|[**tracksIdStatsGet**](#tracksidstatsget) | **GET** /tracks/{id}/stats | Get track statistics| -|[**tracksIdStatusGet**](#tracksidstatusget) | **GET** /tracks/{id}/status | Get Upload Status| -|[**tracksIdStreamGet**](#tracksidstreamget) | **GET** /tracks/{id}/stream | Stream a track (raw audio + Range)| -|[**tracksIdVersionsVersionIdRestorePost**](#tracksidversionsversionidrestorepost) | **POST** /tracks/{id}/versions/{versionId}/restore | Restore track version| -|[**tracksIdWaveformGet**](#tracksidwaveformget) | **GET** /tracks/{id}/waveform | Get track waveform| -|[**tracksInitiatePost**](#tracksinitiatepost) | **POST** /tracks/initiate | Initiate Chunked Upload| -|[**tracksPost**](#trackspost) | **POST** /tracks | Upload Track| -|[**tracksQuotaIdGet**](#tracksquotaidget) | **GET** /tracks/quota/{id} | Get Upload Quota| -|[**tracksRecommendationsGet**](#tracksrecommendationsget) | **GET** /tracks/recommendations | Get track recommendations| -|[**tracksResumeUploadIdGet**](#tracksresumeuploadidget) | **GET** /tracks/resume/{uploadId} | Resume Upload| -|[**tracksSearchGet**](#trackssearchget) | **GET** /tracks/search | Advanced track search| -|[**tracksShareIdDelete**](#tracksshareiddelete) | **DELETE** /tracks/share/{id} | Revoke share link| -|[**tracksSharedTokenGet**](#trackssharedtokenget) | **GET** /tracks/shared/{token} | Get track by share token| -|[**tracksSuggestedTagsGet**](#trackssuggestedtagsget) | **GET** /tracks/suggested-tags | Get suggested tags| - -# **internalTracksIdStreamReadyPost** -> Auth2faDisablePost200ResponseAllOfData internalTracksIdStreamReadyPost(request) - -Internal endpoint called by the Rust stream server when HLS transcoding completes or fails. Updates the track\'s stream_status and stream_manifest_url. Requires internal API key (not user-facing). - -### Example - -```typescript -import { - TrackApi, - Configuration, - InternalCoreTrackStreamCallbackRequest -} from './api'; - -const configuration = new Configuration(); -const apiInstance = new TrackApi(configuration); - -let id: string; //Track UUID (default to undefined) -let request: InternalCoreTrackStreamCallbackRequest; //Callback payload - -const { status, data } = await apiInstance.internalTracksIdStreamReadyPost( - id, - request -); -``` - -### Parameters - -|Name | Type | Description | Notes| -|------------- | ------------- | ------------- | -------------| -| **request** | **InternalCoreTrackStreamCallbackRequest**| Callback payload | | -| **id** | [**string**] | Track UUID | defaults to undefined| - - -### Return type - -**Auth2faDisablePost200ResponseAllOfData** - -### Authorization - -No authorization required - -### HTTP request headers - - - **Content-Type**: application/json - - **Accept**: application/json - - -### HTTP response details -| Status code | Description | Response headers | -|-------------|-------------|------------------| -|**200** | OK | - | -|**400** | Validation / invalid id | - | -|**500** | Internal Error | - | - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **tracksBatchDeletePost** -> TracksBatchDeletePost200Response tracksBatchDeletePost(request) - -Soft-delete up to N tracks in one request. Per-track ownership checked (admin can delete others). - -### Example - -```typescript -import { - TrackApi, - Configuration, - InternalCoreTrackBatchDeleteRequest -} from './api'; - -const configuration = new Configuration(); -const apiInstance = new TrackApi(configuration); - -let request: InternalCoreTrackBatchDeleteRequest; //List of track UUIDs - -const { status, data } = await apiInstance.tracksBatchDeletePost( - request -); -``` - -### Parameters - -|Name | Type | Description | Notes| -|------------- | ------------- | ------------- | -------------| -| **request** | **InternalCoreTrackBatchDeleteRequest**| List of track UUIDs | | - - -### Return type - -**TracksBatchDeletePost200Response** - -### Authorization - -[BearerAuth](../README.md#BearerAuth) - -### HTTP request headers - - - **Content-Type**: application/json - - **Accept**: application/json - - -### HTTP response details -| Status code | Description | Response headers | -|-------------|-------------|------------------| -|**200** | OK | - | -|**400** | Validation / batch size exceeded | - | -|**401** | Unauthorized | - | -|**500** | Internal Error | - | - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **tracksBatchUpdatePost** -> TracksBatchUpdatePost200Response tracksBatchUpdatePost(request) - -Apply a partial metadata update to up to N tracks in one request. Per-track ownership checked. - -### Example - -```typescript -import { - TrackApi, - Configuration, - InternalCoreTrackBatchUpdateRequest -} from './api'; - -const configuration = new Configuration(); -const apiInstance = new TrackApi(configuration); - -let request: InternalCoreTrackBatchUpdateRequest; //Track UUIDs + shared updates map - -const { status, data } = await apiInstance.tracksBatchUpdatePost( - request -); -``` - -### Parameters - -|Name | Type | Description | Notes| -|------------- | ------------- | ------------- | -------------| -| **request** | **InternalCoreTrackBatchUpdateRequest**| Track UUIDs + shared updates map | | - - -### Return type - -**TracksBatchUpdatePost200Response** - -### Authorization - -[BearerAuth](../README.md#BearerAuth) - -### HTTP request headers - - - **Content-Type**: application/json - - **Accept**: application/json - - -### HTTP response details -| Status code | Description | Response headers | -|-------------|-------------|------------------| -|**200** | OK | - | -|**400** | Validation / batch size exceeded | - | -|**401** | Unauthorized | - | -|**500** | Internal Error | - | - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **tracksChunkPost** -> TracksChunkPost200Response tracksChunkPost() - -Upload a single chunk of a file - -### Example - -```typescript -import { - TrackApi, - Configuration -} from './api'; - -const configuration = new Configuration(); -const apiInstance = new TrackApi(configuration); - -let chunk: File; //Chunk Data (default to undefined) -let uploadId: string; //Upload ID (default to undefined) -let chunkNumber: number; //Chunk Number (default to undefined) -let totalChunks: number; //Total Chunks (default to undefined) -let totalSize: number; //Total Size (default to undefined) -let filename: string; //Filename (default to undefined) - -const { status, data } = await apiInstance.tracksChunkPost( - chunk, - uploadId, - chunkNumber, - totalChunks, - totalSize, - filename -); -``` - -### Parameters - -|Name | Type | Description | Notes| -|------------- | ------------- | ------------- | -------------| -| **chunk** | [**File**] | Chunk Data | defaults to undefined| -| **uploadId** | [**string**] | Upload ID | defaults to undefined| -| **chunkNumber** | [**number**] | Chunk Number | defaults to undefined| -| **totalChunks** | [**number**] | Total Chunks | defaults to undefined| -| **totalSize** | [**number**] | Total Size | defaults to undefined| -| **filename** | [**string**] | Filename | defaults to undefined| - - -### Return type - -**TracksChunkPost200Response** - -### Authorization - -[BearerAuth](../README.md#BearerAuth) - -### HTTP request headers - - - **Content-Type**: multipart/form-data - - **Accept**: application/json - - -### HTTP response details -| Status code | Description | Response headers | -|-------------|-------------|------------------| -|**200** | OK | - | -|**400** | Validation Error | - | -|**401** | Unauthorized | - | - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **tracksCompletePost** -> TracksCompletePost201Response tracksCompletePost(request) - -Finish upload session and assemble file - -### Example - -```typescript -import { - TrackApi, - Configuration, - InternalCoreTrackCompleteChunkedUploadRequest -} from './api'; - -const configuration = new Configuration(); -const apiInstance = new TrackApi(configuration); - -let request: InternalCoreTrackCompleteChunkedUploadRequest; //Upload ID - -const { status, data } = await apiInstance.tracksCompletePost( - request -); -``` - -### Parameters - -|Name | Type | Description | Notes| -|------------- | ------------- | ------------- | -------------| -| **request** | **InternalCoreTrackCompleteChunkedUploadRequest**| Upload ID | | - - -### Return type - -**TracksCompletePost201Response** - -### Authorization - -[BearerAuth](../README.md#BearerAuth) - -### HTTP request headers - - - **Content-Type**: application/json - - **Accept**: application/json - - -### HTTP response details -| Status code | Description | Response headers | -|-------------|-------------|------------------| -|**201** | Created | - | -|**400** | Validation or Assemblage Error | - | -|**401** | Unauthorized | - | - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **tracksGet** -> TracksGet200Response tracksGet() - -List tracks with pagination, filters, sort. Cursor-based when ?cursor provided, otherwise page/limit offset. - -### Example - -```typescript -import { - TrackApi, - Configuration -} from './api'; - -const configuration = new Configuration(); -const apiInstance = new TrackApi(configuration); - -let cursor: string; //Opaque pagination cursor (overrides page) (optional) (default to undefined) -let page: number; //Page number, 1-based (ignored if cursor set) (optional) (default to 1) -let limit: number; //Items per page (max 100) (optional) (default to 20) -let userId: string; //Filter by creator UUID (optional) (default to undefined) -let genre: string; //Filter by genre (optional) (default to undefined) -let format: string; //Filter by audio format (mp3, flac, wav, ogg, m4a, aac) (optional) (default to undefined) -let sortBy: string; //Sort column (created_at, play_count, title) (optional) (default to 'created_at') - -const { status, data } = await apiInstance.tracksGet( - cursor, - page, - limit, - userId, - genre, - format, - sortBy -); -``` - -### Parameters - -|Name | Type | Description | Notes| -|------------- | ------------- | ------------- | -------------| -| **cursor** | [**string**] | Opaque pagination cursor (overrides page) | (optional) defaults to undefined| -| **page** | [**number**] | Page number, 1-based (ignored if cursor set) | (optional) defaults to 1| -| **limit** | [**number**] | Items per page (max 100) | (optional) defaults to 20| -| **userId** | [**string**] | Filter by creator UUID | (optional) defaults to undefined| -| **genre** | [**string**] | Filter by genre | (optional) defaults to undefined| -| **format** | [**string**] | Filter by audio format (mp3, flac, wav, ogg, m4a, aac) | (optional) defaults to undefined| -| **sortBy** | [**string**] | Sort column (created_at, play_count, title) | (optional) defaults to 'created_at'| - - -### Return type - -**TracksGet200Response** - -### Authorization - -No authorization required - -### HTTP request headers - - - **Content-Type**: Not defined - - **Accept**: application/json - - -### HTTP response details -| Status code | Description | Response headers | -|-------------|-------------|------------------| -|**200** | OK | - | -|**400** | Invalid query params | - | -|**500** | Internal Error | - | - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **tracksIdDelete** -> TracksIdDelete200Response tracksIdDelete() - -Soft-delete a track (sets deleted_at). Caller must own the track or be admin. - -### Example - -```typescript -import { - TrackApi, - Configuration -} from './api'; - -const configuration = new Configuration(); -const apiInstance = new TrackApi(configuration); - -let id: string; //Track UUID (default to undefined) - -const { status, data } = await apiInstance.tracksIdDelete( - id -); -``` - -### Parameters - -|Name | Type | Description | Notes| -|------------- | ------------- | ------------- | -------------| -| **id** | [**string**] | Track UUID | defaults to undefined| - - -### Return type - -**TracksIdDelete200Response** - -### Authorization - -[BearerAuth](../README.md#BearerAuth) - -### HTTP request headers - - - **Content-Type**: Not defined - - **Accept**: application/json - - -### HTTP response details -| Status code | Description | Response headers | -|-------------|-------------|------------------| -|**200** | OK | - | -|**400** | Invalid track id | - | -|**401** | Unauthorized | - | -|**403** | Not owner / no admin | - | -|**404** | Track not found | - | -|**500** | Internal Error | - | - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **tracksIdDownloadGet** -> File tracksIdDownloadGet() - -Serve the original audio file. For S3-backed tracks returns a 302 redirect to a signed URL (TTL 30min). For local-backed tracks streams the file with Range support. Public tracks or share_token access; paid tracks require a license. - -### Example - -```typescript -import { - TrackApi, - Configuration -} from './api'; - -const configuration = new Configuration(); -const apiInstance = new TrackApi(configuration); - -let id: string; //Track UUID (default to undefined) -let shareToken: string; //Grants access without authentication for a limited time (optional) (default to undefined) - -const { status, data } = await apiInstance.tracksIdDownloadGet( - id, - shareToken -); -``` - -### Parameters - -|Name | Type | Description | Notes| -|------------- | ------------- | ------------- | -------------| -| **id** | [**string**] | Track UUID | defaults to undefined| -| **shareToken** | [**string**] | Grants access without authentication for a limited time | (optional) defaults to undefined| - - -### Return type - -**File** - -### Authorization - -No authorization required - -### HTTP request headers - - - **Content-Type**: Not defined - - **Accept**: application/octet-stream - - -### HTTP response details -| Status code | Description | Response headers | -|-------------|-------------|------------------| -|**200** | OK | - | -|**302** | Location header points to signed S3 URL (s3-backed tracks) | - | -|**400** | Invalid track id | - | -|**403** | No permission / license required | - | -|**404** | Track or file not found | - | -|**500** | Internal Error | - | - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **tracksIdGet** -> TracksPost201Response tracksIdGet() - -Retrieve a single track. Private play_count / like_count are omitted for non-owners (v0.10.3 F202). - -### Example - -```typescript -import { - TrackApi, - Configuration -} from './api'; - -const configuration = new Configuration(); -const apiInstance = new TrackApi(configuration); - -let id: string; //Track UUID (default to undefined) - -const { status, data } = await apiInstance.tracksIdGet( - id -); -``` - -### Parameters - -|Name | Type | Description | Notes| -|------------- | ------------- | ------------- | -------------| -| **id** | [**string**] | Track UUID | defaults to undefined| - - -### Return type - -**TracksPost201Response** - -### Authorization - -No authorization required - -### HTTP request headers - - - **Content-Type**: Not defined - - **Accept**: application/json - - -### HTTP response details -| Status code | Description | Response headers | -|-------------|-------------|------------------| -|**200** | OK | - | -|**400** | Invalid track id | - | -|**404** | Track not found | - | -|**500** | Internal Error | - | - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **tracksIdHistoryGet** -> TracksIdHistoryGet200Response tracksIdHistoryGet() - -Paginated audit log of modifications (metadata updates, version changes) for a track. - -### Example - -```typescript -import { - TrackApi, - Configuration -} from './api'; - -const configuration = new Configuration(); -const apiInstance = new TrackApi(configuration); - -let id: string; //Track UUID (default to undefined) -let limit: number; //Items per page (optional) (default to 50) -let offset: number; //Offset (optional) (default to 0) - -const { status, data } = await apiInstance.tracksIdHistoryGet( - id, - limit, - offset -); -``` - -### Parameters - -|Name | Type | Description | Notes| -|------------- | ------------- | ------------- | -------------| -| **id** | [**string**] | Track UUID | defaults to undefined| -| **limit** | [**number**] | Items per page | (optional) defaults to 50| -| **offset** | [**number**] | Offset | (optional) defaults to 0| - - -### Return type - -**TracksIdHistoryGet200Response** - -### Authorization - -No authorization required - -### HTTP request headers - - - **Content-Type**: Not defined - - **Accept**: application/json - - -### HTTP response details -| Status code | Description | Response headers | -|-------------|-------------|------------------| -|**200** | OK | - | -|**400** | Invalid track id | - | -|**404** | Track not found | - | -|**500** | Internal Error | - | - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **tracksIdLikeDelete** -> TracksIdLikePost200Response tracksIdLikeDelete() - -Remove the authenticated user\'s like on the track (idempotent). - -### Example - -```typescript -import { - TrackApi, - Configuration -} from './api'; - -const configuration = new Configuration(); -const apiInstance = new TrackApi(configuration); - -let id: string; //Track UUID (default to undefined) - -const { status, data } = await apiInstance.tracksIdLikeDelete( - id -); -``` - -### Parameters - -|Name | Type | Description | Notes| -|------------- | ------------- | ------------- | -------------| -| **id** | [**string**] | Track UUID | defaults to undefined| - - -### Return type - -**TracksIdLikePost200Response** - -### Authorization - -[BearerAuth](../README.md#BearerAuth) - -### HTTP request headers - - - **Content-Type**: Not defined - - **Accept**: application/json - - -### HTTP response details -| Status code | Description | Response headers | -|-------------|-------------|------------------| -|**200** | OK | - | -|**400** | Invalid track id | - | -|**401** | Unauthorized | - | -|**500** | Internal Error | - | - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **tracksIdLikePost** -> TracksIdLikePost200Response tracksIdLikePost() - -Record a like from the authenticated user. Creates a grouped notification for the creator (F554). - -### Example - -```typescript -import { - TrackApi, - Configuration -} from './api'; - -const configuration = new Configuration(); -const apiInstance = new TrackApi(configuration); - -let id: string; //Track UUID (default to undefined) - -const { status, data } = await apiInstance.tracksIdLikePost( - id -); -``` - -### Parameters - -|Name | Type | Description | Notes| -|------------- | ------------- | ------------- | -------------| -| **id** | [**string**] | Track UUID | defaults to undefined| - - -### Return type - -**TracksIdLikePost200Response** - -### Authorization - -[BearerAuth](../README.md#BearerAuth) - -### HTTP request headers - - - **Content-Type**: Not defined - - **Accept**: application/json - - -### HTTP response details -| Status code | Description | Response headers | -|-------------|-------------|------------------| -|**200** | OK | - | -|**400** | Invalid track id | - | -|**401** | Unauthorized | - | -|**404** | Track not found | - | -|**500** | Internal Error | - | - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **tracksIdLikesGet** -> TracksIdLikesGet200Response tracksIdLikesGet() - -Returns whether the current user has liked the track. The total like count is returned ONLY to the creator or an admin (privacy per ORIGIN_UI_UX_SYSTEM §13). - -### Example - -```typescript -import { - TrackApi, - Configuration -} from './api'; - -const configuration = new Configuration(); -const apiInstance = new TrackApi(configuration); - -let id: string; //Track UUID (default to undefined) - -const { status, data } = await apiInstance.tracksIdLikesGet( - id -); -``` - -### Parameters - -|Name | Type | Description | Notes| -|------------- | ------------- | ------------- | -------------| -| **id** | [**string**] | Track UUID | defaults to undefined| - - -### Return type - -**TracksIdLikesGet200Response** - -### Authorization - -[BearerAuth](../README.md#BearerAuth) - -### HTTP request headers - - - **Content-Type**: Not defined - - **Accept**: application/json - - -### HTTP response details -| Status code | Description | Response headers | -|-------------|-------------|------------------| -|**200** | count is omitted for non-owners | - | -|**400** | Invalid track id | - | -|**401** | Unauthorized | - | -|**404** | Track not found | - | -|**500** | Internal Error | - | - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **tracksIdLyricsGet** -> TracksIdLyricsGet200Response tracksIdLyricsGet() - -Returns the current lyrics for a track, or null if no lyrics exist. - -### Example - -```typescript -import { - TrackApi, - Configuration -} from './api'; - -const configuration = new Configuration(); -const apiInstance = new TrackApi(configuration); - -let id: string; //Track UUID (default to undefined) - -const { status, data } = await apiInstance.tracksIdLyricsGet( - id -); -``` - -### Parameters - -|Name | Type | Description | Notes| -|------------- | ------------- | ------------- | -------------| -| **id** | [**string**] | Track UUID | defaults to undefined| - - -### Return type - -**TracksIdLyricsGet200Response** - -### Authorization - -No authorization required - -### HTTP request headers - - - **Content-Type**: Not defined - - **Accept**: application/json - - -### HTTP response details -| Status code | Description | Response headers | -|-------------|-------------|------------------| -|**200** | lyrics may be null | - | -|**400** | Invalid track id | - | -|**404** | Track not found | - | -|**500** | Internal Error | - | - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **tracksIdLyricsPut** -> TracksIdLyricsGet200Response tracksIdLyricsPut(request) - -Replace the lyrics of a track. Caller must own the track or be admin. - -### Example - -```typescript -import { - TrackApi, - Configuration, - InternalCoreTrackUpdateLyricsRequest -} from './api'; - -const configuration = new Configuration(); -const apiInstance = new TrackApi(configuration); - -let id: string; //Track UUID (default to undefined) -let request: InternalCoreTrackUpdateLyricsRequest; //Lyrics payload - -const { status, data } = await apiInstance.tracksIdLyricsPut( - id, - request -); -``` - -### Parameters - -|Name | Type | Description | Notes| -|------------- | ------------- | ------------- | -------------| -| **request** | **InternalCoreTrackUpdateLyricsRequest**| Lyrics payload | | -| **id** | [**string**] | Track UUID | defaults to undefined| - - -### Return type - -**TracksIdLyricsGet200Response** - -### Authorization - -[BearerAuth](../README.md#BearerAuth) - -### HTTP request headers - - - **Content-Type**: application/json - - **Accept**: application/json - - -### HTTP response details -| Status code | Description | Response headers | -|-------------|-------------|------------------| -|**200** | OK | - | -|**400** | Validation / invalid id | - | -|**401** | Unauthorized | - | -|**403** | Not owner / no admin | - | -|**404** | Track not found | - | -|**500** | Internal Error | - | - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **tracksIdPlayPost** -> TracksIdPlayPost200Response tracksIdPlayPost() - -Persist a playback event with optional play_time so the creator\'s analytics dashboard tracks listening behaviour. - -### Example - -```typescript -import { - TrackApi, - Configuration, - InternalCoreTrackRecordPlayRequest -} from './api'; - -const configuration = new Configuration(); -const apiInstance = new TrackApi(configuration); - -let id: string; //Track UUID (default to undefined) -let request: InternalCoreTrackRecordPlayRequest; //Playback metadata (optional) (optional) - -const { status, data } = await apiInstance.tracksIdPlayPost( - id, - request -); -``` - -### Parameters - -|Name | Type | Description | Notes| -|------------- | ------------- | ------------- | -------------| -| **request** | **InternalCoreTrackRecordPlayRequest**| Playback metadata (optional) | | -| **id** | [**string**] | Track UUID | defaults to undefined| - - -### Return type - -**TracksIdPlayPost200Response** - -### Authorization - -[BearerAuth](../README.md#BearerAuth) - -### HTTP request headers - - - **Content-Type**: application/json - - **Accept**: application/json - - -### HTTP response details -| Status code | Description | Response headers | -|-------------|-------------|------------------| -|**200** | OK | - | -|**400** | Invalid track id / body | - | -|**401** | Unauthorized | - | -|**404** | Track not found | - | -|**500** | Internal Error | - | - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **tracksIdPut** -> TracksPost201Response tracksIdPut(request) - -Update the metadata of an existing track. Caller must own the track or be admin. - -### Example - -```typescript -import { - TrackApi, - Configuration, - InternalCoreTrackUpdateTrackRequest -} from './api'; - -const configuration = new Configuration(); -const apiInstance = new TrackApi(configuration); - -let id: string; //Track UUID (default to undefined) -let request: InternalCoreTrackUpdateTrackRequest; //Updated metadata - -const { status, data } = await apiInstance.tracksIdPut( - id, - request -); -``` - -### Parameters - -|Name | Type | Description | Notes| -|------------- | ------------- | ------------- | -------------| -| **request** | **InternalCoreTrackUpdateTrackRequest**| Updated metadata | | -| **id** | [**string**] | Track UUID | defaults to undefined| - - -### Return type - -**TracksPost201Response** - -### Authorization - -[BearerAuth](../README.md#BearerAuth) - -### HTTP request headers - - - **Content-Type**: application/json - - **Accept**: application/json - - -### HTTP response details -| Status code | Description | Response headers | -|-------------|-------------|------------------| -|**200** | OK | - | -|**400** | Validation / invalid id | - | -|**401** | Unauthorized | - | -|**403** | Not owner / no admin | - | -|**404** | Track not found | - | -|**500** | Internal Error | - | - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **tracksIdRepostDelete** -> TracksIdLikePost200Response tracksIdRepostDelete() - -Remove the authenticated user\'s repost of the track (idempotent). - -### Example - -```typescript -import { - TrackApi, - Configuration -} from './api'; - -const configuration = new Configuration(); -const apiInstance = new TrackApi(configuration); - -let id: string; //Track UUID (default to undefined) - -const { status, data } = await apiInstance.tracksIdRepostDelete( - id -); -``` - -### Parameters - -|Name | Type | Description | Notes| -|------------- | ------------- | ------------- | -------------| -| **id** | [**string**] | Track UUID | defaults to undefined| - - -### Return type - -**TracksIdLikePost200Response** - -### Authorization - -[BearerAuth](../README.md#BearerAuth) - -### HTTP request headers - - - **Content-Type**: Not defined - - **Accept**: application/json - - -### HTTP response details -| Status code | Description | Response headers | -|-------------|-------------|------------------| -|**200** | OK | - | -|**400** | Invalid track id | - | -|**401** | Unauthorized | - | -|**500** | Internal Error | - | - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **tracksIdRepostGet** -> TracksIdRepostGet200Response tracksIdRepostGet() - -Returns whether the current user has reposted the track. Public (optional auth); unauthenticated callers get is_reposted=false. - -### Example - -```typescript -import { - TrackApi, - Configuration -} from './api'; - -const configuration = new Configuration(); -const apiInstance = new TrackApi(configuration); - -let id: string; //Track UUID (default to undefined) - -const { status, data } = await apiInstance.tracksIdRepostGet( - id -); -``` - -### Parameters - -|Name | Type | Description | Notes| -|------------- | ------------- | ------------- | -------------| -| **id** | [**string**] | Track UUID | defaults to undefined| - - -### Return type - -**TracksIdRepostGet200Response** - -### Authorization - -No authorization required - -### HTTP request headers - - - **Content-Type**: Not defined - - **Accept**: application/json - - -### HTTP response details -| Status code | Description | Response headers | -|-------------|-------------|------------------| -|**200** | OK | - | -|**400** | Invalid track id | - | - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **tracksIdRepostPost** -> TracksIdLikePost200Response tracksIdRepostPost() - -Add a track to the authenticated user\'s profile as a repost. Notifies the creator (F204) unless self-repost. - -### Example - -```typescript -import { - TrackApi, - Configuration -} from './api'; - -const configuration = new Configuration(); -const apiInstance = new TrackApi(configuration); - -let id: string; //Track UUID (default to undefined) - -const { status, data } = await apiInstance.tracksIdRepostPost( - id -); -``` - -### Parameters - -|Name | Type | Description | Notes| -|------------- | ------------- | ------------- | -------------| -| **id** | [**string**] | Track UUID | defaults to undefined| - - -### Return type - -**TracksIdLikePost200Response** - -### Authorization - -[BearerAuth](../README.md#BearerAuth) - -### HTTP request headers - - - **Content-Type**: Not defined - - **Accept**: application/json - - -### HTTP response details -| Status code | Description | Response headers | -|-------------|-------------|------------------| -|**200** | OK | - | -|**400** | Invalid track id | - | -|**401** | Unauthorized | - | -|**404** | Track not found | - | -|**500** | Internal Error | - | - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **tracksIdSharePost** -> TracksIdSharePost200Response tracksIdSharePost(request) - -Generate a tokenized share link for a track with given permission level and optional expiry. - -### Example - -```typescript -import { - TrackApi, - Configuration, - InternalCoreTrackCreateShareRequest -} from './api'; - -const configuration = new Configuration(); -const apiInstance = new TrackApi(configuration); - -let id: string; //Track UUID (default to undefined) -let request: InternalCoreTrackCreateShareRequest; //Share parameters - -const { status, data } = await apiInstance.tracksIdSharePost( - id, - request -); -``` - -### Parameters - -|Name | Type | Description | Notes| -|------------- | ------------- | ------------- | -------------| -| **request** | **InternalCoreTrackCreateShareRequest**| Share parameters | | -| **id** | [**string**] | Track UUID | defaults to undefined| - - -### Return type - -**TracksIdSharePost200Response** - -### Authorization - -[BearerAuth](../README.md#BearerAuth) - -### HTTP request headers - - - **Content-Type**: application/json - - **Accept**: application/json - - -### HTTP response details -| Status code | Description | Response headers | -|-------------|-------------|------------------| -|**200** | OK | - | -|**400** | Validation | - | -|**401** | Unauthorized | - | -|**403** | Not owner | - | -|**404** | Track not found | - | -|**500** | Internal Error | - | - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **tracksIdStatsGet** -> TracksIdStatsGet200Response tracksIdStatsGet() - -Aggregated track stats: views, likes, comments, play time, downloads, average duration. - -### Example - -```typescript -import { - TrackApi, - Configuration -} from './api'; - -const configuration = new Configuration(); -const apiInstance = new TrackApi(configuration); - -let id: string; //Track UUID (default to undefined) - -const { status, data } = await apiInstance.tracksIdStatsGet( - id -); -``` - -### Parameters - -|Name | Type | Description | Notes| -|------------- | ------------- | ------------- | -------------| -| **id** | [**string**] | Track UUID | defaults to undefined| - - -### Return type - -**TracksIdStatsGet200Response** - -### Authorization - -No authorization required - -### HTTP request headers - - - **Content-Type**: Not defined - - **Accept**: application/json - - -### HTTP response details -| Status code | Description | Response headers | -|-------------|-------------|------------------| -|**200** | OK | - | -|**400** | Invalid track id | - | -|**404** | Track not found | - | -|**500** | Internal Error | - | - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **tracksIdStatusGet** -> TracksIdStatusGet200Response tracksIdStatusGet() - -Get the processing status of an uploaded track - -### Example - -```typescript -import { - TrackApi, - Configuration -} from './api'; - -const configuration = new Configuration(); -const apiInstance = new TrackApi(configuration); - -let id: string; //Track ID (default to undefined) - -const { status, data } = await apiInstance.tracksIdStatusGet( - id -); -``` - -### Parameters - -|Name | Type | Description | Notes| -|------------- | ------------- | ------------- | -------------| -| **id** | [**string**] | Track ID | defaults to undefined| - - -### Return type - -**TracksIdStatusGet200Response** - -### Authorization - -[BearerAuth](../README.md#BearerAuth) - -### HTTP request headers - - - **Content-Type**: Not defined - - **Accept**: application/json - - -### HTTP response details -| Status code | Description | Response headers | -|-------------|-------------|------------------| -|**200** | OK | - | -|**400** | Invalid ID | - | -|**401** | Unauthorized | - | -|**404** | Track not found | - | - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **tracksIdStreamGet** -> File tracksIdStreamGet() - -Default playback path. S3-backed tracks return a 302 redirect to a signed URL (TTL 15min). Local-backed tracks are streamed via http.ServeContent with Range support. Always available, unlike /hls/_* which is gated by HLSEnabled. - -### Example - -```typescript -import { - TrackApi, - Configuration -} from './api'; - -const configuration = new Configuration(); -const apiInstance = new TrackApi(configuration); - -let id: string; //Track UUID (default to undefined) -let shareToken: string; //Grants access without authentication (optional) (default to undefined) - -const { status, data } = await apiInstance.tracksIdStreamGet( - id, - shareToken -); -``` - -### Parameters - -|Name | Type | Description | Notes| -|------------- | ------------- | ------------- | -------------| -| **id** | [**string**] | Track UUID | defaults to undefined| -| **shareToken** | [**string**] | Grants access without authentication | (optional) defaults to undefined| - - -### Return type - -**File** - -### Authorization - -No authorization required - -### HTTP request headers - - - **Content-Type**: Not defined - - **Accept**: audio/* - - -### HTTP response details -| Status code | Description | Response headers | -|-------------|-------------|------------------| -|**200** | OK | - | -|**302** | Location header points to signed S3 URL (s3-backed tracks) | - | -|**400** | Invalid track id | - | -|**403** | No permission | - | -|**404** | Track or file not found | - | -|**500** | Internal Error | - | - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **tracksIdVersionsVersionIdRestorePost** -> TracksIdLikePost200Response tracksIdVersionsVersionIdRestorePost() - -Rollback a track to a previous version. Only the track owner can restore. - -### Example - -```typescript -import { - TrackApi, - Configuration -} from './api'; - -const configuration = new Configuration(); -const apiInstance = new TrackApi(configuration); - -let id: string; //Track UUID (default to undefined) -let versionId: string; //Version UUID (default to undefined) - -const { status, data } = await apiInstance.tracksIdVersionsVersionIdRestorePost( - id, - versionId -); -``` - -### Parameters - -|Name | Type | Description | Notes| -|------------- | ------------- | ------------- | -------------| -| **id** | [**string**] | Track UUID | defaults to undefined| -| **versionId** | [**string**] | Version UUID | defaults to undefined| - - -### Return type - -**TracksIdLikePost200Response** - -### Authorization - -[BearerAuth](../README.md#BearerAuth) - -### HTTP request headers - - - **Content-Type**: Not defined - - **Accept**: application/json - - -### HTTP response details -| Status code | Description | Response headers | -|-------------|-------------|------------------| -|**200** | OK | - | -|**400** | Invalid id | - | -|**401** | Unauthorized | - | -|**403** | Not owner | - | -|**404** | Track or version not found | - | -|**500** | Internal Error | - | - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **tracksIdWaveformGet** -> object tracksIdWaveformGet() - -Returns a JSON peaks array used by the client to draw the audio waveform preview. 404 if waveform extraction is not complete yet. - -### Example - -```typescript -import { - TrackApi, - Configuration -} from './api'; - -const configuration = new Configuration(); -const apiInstance = new TrackApi(configuration); - -let id: string; //Track UUID (default to undefined) - -const { status, data } = await apiInstance.tracksIdWaveformGet( - id -); -``` - -### Parameters - -|Name | Type | Description | Notes| -|------------- | ------------- | ------------- | -------------| -| **id** | [**string**] | Track UUID | defaults to undefined| - - -### Return type - -**object** - -### Authorization - -No authorization required - -### HTTP request headers - - - **Content-Type**: Not defined - - **Accept**: application/json - - -### HTTP response details -| Status code | Description | Response headers | -|-------------|-------------|------------------| -|**200** | Waveform peaks JSON (tool-specific shape) | - | -|**400** | Invalid track id | - | -|**404** | Waveform not generated / track not found | - | -|**500** | Internal Error | - | - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **tracksInitiatePost** -> TracksInitiatePost200Response tracksInitiatePost(request) - -Start a new chunked upload session - -### Example - -```typescript -import { - TrackApi, - Configuration, - InternalCoreTrackInitiateChunkedUploadRequest -} from './api'; - -const configuration = new Configuration(); -const apiInstance = new TrackApi(configuration); - -let request: InternalCoreTrackInitiateChunkedUploadRequest; //Upload Metadata - -const { status, data } = await apiInstance.tracksInitiatePost( - request -); -``` - -### Parameters - -|Name | Type | Description | Notes| -|------------- | ------------- | ------------- | -------------| -| **request** | **InternalCoreTrackInitiateChunkedUploadRequest**| Upload Metadata | | - - -### Return type - -**TracksInitiatePost200Response** - -### Authorization - -[BearerAuth](../README.md#BearerAuth) - -### HTTP request headers - - - **Content-Type**: application/json - - **Accept**: application/json - - -### HTTP response details -| Status code | Description | Response headers | -|-------------|-------------|------------------| -|**200** | OK | - | -|**400** | Validation Error | - | -|**401** | Unauthorized | - | - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **tracksPost** -> TracksPost201Response tracksPost() - -Upload a new track (audio file) - -### Example - -```typescript -import { - TrackApi, - Configuration -} from './api'; - -const configuration = new Configuration(); -const apiInstance = new TrackApi(configuration); - -let file: File; //Audio File (MP3, WAV, FLAC, OGG) (default to undefined) - -const { status, data } = await apiInstance.tracksPost( - file -); -``` - -### Parameters - -|Name | Type | Description | Notes| -|------------- | ------------- | ------------- | -------------| -| **file** | [**File**] | Audio File (MP3, WAV, FLAC, OGG) | defaults to undefined| - - -### Return type - -**TracksPost201Response** - -### Authorization - -[BearerAuth](../README.md#BearerAuth) - -### HTTP request headers - - - **Content-Type**: multipart/form-data - - **Accept**: application/json - - -### HTTP response details -| Status code | Description | Response headers | -|-------------|-------------|------------------| -|**201** | Created | - | -|**400** | No file or validation error | - | -|**401** | Unauthorized | - | -|**403** | Quota exceeded | - | -|**500** | Internal Error | - | - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **tracksQuotaIdGet** -> TracksQuotaIdGet200Response tracksQuotaIdGet() - -Get remaining upload quota for the user - -### Example - -```typescript -import { - TrackApi, - Configuration -} from './api'; - -const configuration = new Configuration(); -const apiInstance = new TrackApi(configuration); - -let id: string; //User ID or \'me\' for current user (default to undefined) - -const { status, data } = await apiInstance.tracksQuotaIdGet( - id -); -``` - -### Parameters - -|Name | Type | Description | Notes| -|------------- | ------------- | ------------- | -------------| -| **id** | [**string**] | User ID or \'me\' for current user | defaults to undefined| - - -### Return type - -**TracksQuotaIdGet200Response** - -### Authorization - -[BearerAuth](../README.md#BearerAuth) - -### HTTP request headers - - - **Content-Type**: Not defined - - **Accept**: application/json - - -### HTTP response details -| Status code | Description | Response headers | -|-------------|-------------|------------------| -|**200** | OK | - | -|**401** | Unauthorized | - | -|**403** | Forbidden | - | - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **tracksRecommendationsGet** -> TracksRecommendationsGet200Response tracksRecommendationsGet() - -Personalized tracks for D2 autoplay. If seed_track_id is given, returns tracks similar to that seed. Otherwise, uses the caller\'s history (chronological, no behavioural ranking — CLAUDE.md rule 7). - -### Example - -```typescript -import { - TrackApi, - Configuration -} from './api'; - -const configuration = new Configuration(); -const apiInstance = new TrackApi(configuration); - -let limit: number; //Max items (max 100) (optional) (default to 20) -let seedTrackId: string; //Start from this track\'s similarity neighbours (optional) (default to undefined) - -const { status, data } = await apiInstance.tracksRecommendationsGet( - limit, - seedTrackId -); -``` - -### Parameters - -|Name | Type | Description | Notes| -|------------- | ------------- | ------------- | -------------| -| **limit** | [**number**] | Max items (max 100) | (optional) defaults to 20| -| **seedTrackId** | [**string**] | Start from this track\'s similarity neighbours | (optional) defaults to undefined| - - -### Return type - -**TracksRecommendationsGet200Response** - -### Authorization - -[BearerAuth](../README.md#BearerAuth) - -### HTTP request headers - - - **Content-Type**: Not defined - - **Accept**: application/json - - -### HTTP response details -| Status code | Description | Response headers | -|-------------|-------------|------------------| -|**200** | OK | - | -|**500** | Internal Error | - | - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **tracksResumeUploadIdGet** -> TracksResumeUploadIdGet200Response tracksResumeUploadIdGet() - -Get state of an interrupted upload - -### Example - -```typescript -import { - TrackApi, - Configuration -} from './api'; - -const configuration = new Configuration(); -const apiInstance = new TrackApi(configuration); - -let uploadId: string; //Upload ID (default to undefined) - -const { status, data } = await apiInstance.tracksResumeUploadIdGet( - uploadId -); -``` - -### Parameters - -|Name | Type | Description | Notes| -|------------- | ------------- | ------------- | -------------| -| **uploadId** | [**string**] | Upload ID | defaults to undefined| - - -### Return type - -**TracksResumeUploadIdGet200Response** - -### Authorization - -[BearerAuth](../README.md#BearerAuth) - -### HTTP request headers - - - **Content-Type**: Not defined - - **Accept**: application/json - - -### HTTP response details -| Status code | Description | Response headers | -|-------------|-------------|------------------| -|**200** | OK | - | -|**404** | Upload session not found | - | - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **tracksSearchGet** -> TracksGet200Response tracksSearchGet() - -Full-text + faceted search on tracks (genre, BPM, duration, tags, musical key, dates). Sort-by and order configurable. - -### Example - -```typescript -import { - TrackApi, - Configuration -} from './api'; - -const configuration = new Configuration(); -const apiInstance = new TrackApi(configuration); - -let q: string; //Full-text query (title/artist/album) (optional) (default to undefined) -let tags: string; //Comma-separated tag list (optional) (default to undefined) -let tagMode: string; //Tag combinator (OR / AND) (optional) (default to 'OR') -let minDuration: number; //Minimum duration (seconds) (optional) (default to undefined) -let maxDuration: number; //Maximum duration (seconds) (optional) (default to undefined) -let minBpm: number; //Minimum BPM (optional) (default to undefined) -let maxBpm: number; //Maximum BPM (optional) (default to undefined) -let genre: string; //Genre filter (optional) (default to undefined) -let format: string; //Audio format filter (optional) (default to undefined) -let musicalKey: string; //Musical key filter (optional) (default to undefined) -let minDate: string; //Created-after (RFC3339) (optional) (default to undefined) -let maxDate: string; //Created-before (RFC3339) (optional) (default to undefined) -let page: number; //Page (1-based) (optional) (default to 1) -let limit: number; //Items per page (max 100) (optional) (default to 20) -let sortBy: string; //Sort column (optional) (default to 'created_at') -let sortOrder: string; //asc / desc (optional) (default to 'desc') - -const { status, data } = await apiInstance.tracksSearchGet( - q, - tags, - tagMode, - minDuration, - maxDuration, - minBpm, - maxBpm, - genre, - format, - musicalKey, - minDate, - maxDate, - page, - limit, - sortBy, - sortOrder -); -``` - -### Parameters - -|Name | Type | Description | Notes| -|------------- | ------------- | ------------- | -------------| -| **q** | [**string**] | Full-text query (title/artist/album) | (optional) defaults to undefined| -| **tags** | [**string**] | Comma-separated tag list | (optional) defaults to undefined| -| **tagMode** | [**string**] | Tag combinator (OR / AND) | (optional) defaults to 'OR'| -| **minDuration** | [**number**] | Minimum duration (seconds) | (optional) defaults to undefined| -| **maxDuration** | [**number**] | Maximum duration (seconds) | (optional) defaults to undefined| -| **minBpm** | [**number**] | Minimum BPM | (optional) defaults to undefined| -| **maxBpm** | [**number**] | Maximum BPM | (optional) defaults to undefined| -| **genre** | [**string**] | Genre filter | (optional) defaults to undefined| -| **format** | [**string**] | Audio format filter | (optional) defaults to undefined| -| **musicalKey** | [**string**] | Musical key filter | (optional) defaults to undefined| -| **minDate** | [**string**] | Created-after (RFC3339) | (optional) defaults to undefined| -| **maxDate** | [**string**] | Created-before (RFC3339) | (optional) defaults to undefined| -| **page** | [**number**] | Page (1-based) | (optional) defaults to 1| -| **limit** | [**number**] | Items per page (max 100) | (optional) defaults to 20| -| **sortBy** | [**string**] | Sort column | (optional) defaults to 'created_at'| -| **sortOrder** | [**string**] | asc / desc | (optional) defaults to 'desc'| - - -### Return type - -**TracksGet200Response** - -### Authorization - -No authorization required - -### HTTP request headers - - - **Content-Type**: Not defined - - **Accept**: application/json - - -### HTTP response details -| Status code | Description | Response headers | -|-------------|-------------|------------------| -|**200** | OK | - | -|**500** | Internal Error | - | - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **tracksShareIdDelete** -> TracksIdLikePost200Response tracksShareIdDelete() - -Permanently disable a share token. Only the share issuer (or admin) can revoke. - -### Example - -```typescript -import { - TrackApi, - Configuration -} from './api'; - -const configuration = new Configuration(); -const apiInstance = new TrackApi(configuration); - -let id: string; //Share UUID (default to undefined) - -const { status, data } = await apiInstance.tracksShareIdDelete( - id -); -``` - -### Parameters - -|Name | Type | Description | Notes| -|------------- | ------------- | ------------- | -------------| -| **id** | [**string**] | Share UUID | defaults to undefined| - - -### Return type - -**TracksIdLikePost200Response** - -### Authorization - -[BearerAuth](../README.md#BearerAuth) - -### HTTP request headers - - - **Content-Type**: Not defined - - **Accept**: application/json - - -### HTTP response details -| Status code | Description | Response headers | -|-------------|-------------|------------------| -|**200** | OK | - | -|**400** | Validation | - | -|**401** | Unauthorized | - | -|**403** | Not issuer | - | -|**404** | Share not found | - | -|**500** | Internal Error | - | - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **tracksSharedTokenGet** -> TracksSharedTokenGet200Response tracksSharedTokenGet() - -Public endpoint that resolves a share token and returns the track + share metadata. No auth required; the token IS the auth. - -### Example - -```typescript -import { - TrackApi, - Configuration -} from './api'; - -const configuration = new Configuration(); -const apiInstance = new TrackApi(configuration); - -let token: string; //Opaque share token issued by CreateShare (default to undefined) - -const { status, data } = await apiInstance.tracksSharedTokenGet( - token -); -``` - -### Parameters - -|Name | Type | Description | Notes| -|------------- | ------------- | ------------- | -------------| -| **token** | [**string**] | Opaque share token issued by CreateShare | defaults to undefined| - - -### Return type - -**TracksSharedTokenGet200Response** - -### Authorization - -No authorization required - -### HTTP request headers - - - **Content-Type**: Not defined - - **Accept**: application/json - - -### HTTP response details -| Status code | Description | Response headers | -|-------------|-------------|------------------| -|**200** | OK | - | -|**400** | Missing token | - | -|**403** | Share link expired | - | -|**404** | Share or track not found | - | -|**500** | Internal Error | - | - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **tracksSuggestedTagsGet** -> TracksSuggestedTagsGet200Response tracksSuggestedTagsGet() - -Returns a static tag suggestion list for a genre — useful for upload autocomplete and filter chips. - -### Example - -```typescript -import { - TrackApi, - Configuration -} from './api'; - -const configuration = new Configuration(); -const apiInstance = new TrackApi(configuration); - -let genre: string; //Genre slug (pop, rock, electronic, hip-hop, jazz, classical, ambient, default) (optional) (default to 'default') - -const { status, data } = await apiInstance.tracksSuggestedTagsGet( - genre -); -``` - -### Parameters - -|Name | Type | Description | Notes| -|------------- | ------------- | ------------- | -------------| -| **genre** | [**string**] | Genre slug (pop, rock, electronic, hip-hop, jazz, classical, ambient, default) | (optional) defaults to 'default'| - - -### Return type - -**TracksSuggestedTagsGet200Response** - -### Authorization - -No authorization required - -### HTTP request headers - - - **Content-Type**: Not defined - - **Accept**: application/json - - -### HTTP response details -| Status code | Description | Response headers | -|-------------|-------------|------------------| -|**200** | OK | - | - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - diff --git a/apps/web/src/types/generated/docs/TracksBatchDeletePost200Response.md b/apps/web/src/types/generated/docs/TracksBatchDeletePost200Response.md deleted file mode 100644 index 371dacbfc..000000000 --- a/apps/web/src/types/generated/docs/TracksBatchDeletePost200Response.md +++ /dev/null @@ -1,24 +0,0 @@ -# TracksBatchDeletePost200Response - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**data** | [**TracksBatchDeletePost200ResponseAllOfData**](TracksBatchDeletePost200ResponseAllOfData.md) | | [optional] [default to undefined] -**error** | **object** | | [optional] [default to undefined] -**success** | **boolean** | | [optional] [default to undefined] - -## Example - -```typescript -import { TracksBatchDeletePost200Response } from './api'; - -const instance: TracksBatchDeletePost200Response = { - data, - error, - success, -}; -``` - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/apps/web/src/types/generated/docs/TracksBatchDeletePost200ResponseAllOfData.md b/apps/web/src/types/generated/docs/TracksBatchDeletePost200ResponseAllOfData.md deleted file mode 100644 index 3ce7fd775..000000000 --- a/apps/web/src/types/generated/docs/TracksBatchDeletePost200ResponseAllOfData.md +++ /dev/null @@ -1,22 +0,0 @@ -# TracksBatchDeletePost200ResponseAllOfData - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**deleted** | **Array<string>** | | [optional] [default to undefined] -**failed** | **Array<object>** | | [optional] [default to undefined] - -## Example - -```typescript -import { TracksBatchDeletePost200ResponseAllOfData } from './api'; - -const instance: TracksBatchDeletePost200ResponseAllOfData = { - deleted, - failed, -}; -``` - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/apps/web/src/types/generated/docs/TracksBatchUpdatePost200Response.md b/apps/web/src/types/generated/docs/TracksBatchUpdatePost200Response.md deleted file mode 100644 index bad4d13c3..000000000 --- a/apps/web/src/types/generated/docs/TracksBatchUpdatePost200Response.md +++ /dev/null @@ -1,24 +0,0 @@ -# TracksBatchUpdatePost200Response - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**data** | [**TracksBatchUpdatePost200ResponseAllOfData**](TracksBatchUpdatePost200ResponseAllOfData.md) | | [optional] [default to undefined] -**error** | **object** | | [optional] [default to undefined] -**success** | **boolean** | | [optional] [default to undefined] - -## Example - -```typescript -import { TracksBatchUpdatePost200Response } from './api'; - -const instance: TracksBatchUpdatePost200Response = { - data, - error, - success, -}; -``` - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/apps/web/src/types/generated/docs/TracksBatchUpdatePost200ResponseAllOfData.md b/apps/web/src/types/generated/docs/TracksBatchUpdatePost200ResponseAllOfData.md deleted file mode 100644 index 040a04412..000000000 --- a/apps/web/src/types/generated/docs/TracksBatchUpdatePost200ResponseAllOfData.md +++ /dev/null @@ -1,22 +0,0 @@ -# TracksBatchUpdatePost200ResponseAllOfData - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**failed** | **Array<object>** | | [optional] [default to undefined] -**updated** | **Array<string>** | | [optional] [default to undefined] - -## Example - -```typescript -import { TracksBatchUpdatePost200ResponseAllOfData } from './api'; - -const instance: TracksBatchUpdatePost200ResponseAllOfData = { - failed, - updated, -}; -``` - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/apps/web/src/types/generated/docs/TracksChunkPost200Response.md b/apps/web/src/types/generated/docs/TracksChunkPost200Response.md deleted file mode 100644 index 3a7f997c7..000000000 --- a/apps/web/src/types/generated/docs/TracksChunkPost200Response.md +++ /dev/null @@ -1,24 +0,0 @@ -# TracksChunkPost200Response - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**data** | [**TracksChunkPost200ResponseAllOfData**](TracksChunkPost200ResponseAllOfData.md) | | [optional] [default to undefined] -**error** | **object** | | [optional] [default to undefined] -**success** | **boolean** | | [optional] [default to undefined] - -## Example - -```typescript -import { TracksChunkPost200Response } from './api'; - -const instance: TracksChunkPost200Response = { - data, - error, - success, -}; -``` - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/apps/web/src/types/generated/docs/TracksChunkPost200ResponseAllOfData.md b/apps/web/src/types/generated/docs/TracksChunkPost200ResponseAllOfData.md deleted file mode 100644 index 501164400..000000000 --- a/apps/web/src/types/generated/docs/TracksChunkPost200ResponseAllOfData.md +++ /dev/null @@ -1,26 +0,0 @@ -# TracksChunkPost200ResponseAllOfData - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**message** | **string** | | [optional] [default to undefined] -**progress** | **number** | | [optional] [default to undefined] -**received_chunks** | **number** | | [optional] [default to undefined] -**upload_id** | **string** | | [optional] [default to undefined] - -## Example - -```typescript -import { TracksChunkPost200ResponseAllOfData } from './api'; - -const instance: TracksChunkPost200ResponseAllOfData = { - message, - progress, - received_chunks, - upload_id, -}; -``` - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/apps/web/src/types/generated/docs/TracksCompletePost201Response.md b/apps/web/src/types/generated/docs/TracksCompletePost201Response.md deleted file mode 100644 index 2484e1e25..000000000 --- a/apps/web/src/types/generated/docs/TracksCompletePost201Response.md +++ /dev/null @@ -1,24 +0,0 @@ -# TracksCompletePost201Response - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**data** | [**TracksCompletePost201ResponseAllOfData**](TracksCompletePost201ResponseAllOfData.md) | | [optional] [default to undefined] -**error** | **object** | | [optional] [default to undefined] -**success** | **boolean** | | [optional] [default to undefined] - -## Example - -```typescript -import { TracksCompletePost201Response } from './api'; - -const instance: TracksCompletePost201Response = { - data, - error, - success, -}; -``` - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/apps/web/src/types/generated/docs/TracksCompletePost201ResponseAllOfData.md b/apps/web/src/types/generated/docs/TracksCompletePost201ResponseAllOfData.md deleted file mode 100644 index 6ab0ba0e8..000000000 --- a/apps/web/src/types/generated/docs/TracksCompletePost201ResponseAllOfData.md +++ /dev/null @@ -1,24 +0,0 @@ -# TracksCompletePost201ResponseAllOfData - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**md5** | **string** | | [optional] [default to undefined] -**message** | **string** | | [optional] [default to undefined] -**track** | [**VezaBackendApiInternalModelsTrack**](VezaBackendApiInternalModelsTrack.md) | | [optional] [default to undefined] - -## Example - -```typescript -import { TracksCompletePost201ResponseAllOfData } from './api'; - -const instance: TracksCompletePost201ResponseAllOfData = { - md5, - message, - track, -}; -``` - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/apps/web/src/types/generated/docs/TracksGet200Response.md b/apps/web/src/types/generated/docs/TracksGet200Response.md deleted file mode 100644 index 67d91d45a..000000000 --- a/apps/web/src/types/generated/docs/TracksGet200Response.md +++ /dev/null @@ -1,24 +0,0 @@ -# TracksGet200Response - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**data** | [**TracksGet200ResponseAllOfData**](TracksGet200ResponseAllOfData.md) | | [optional] [default to undefined] -**error** | **object** | | [optional] [default to undefined] -**success** | **boolean** | | [optional] [default to undefined] - -## Example - -```typescript -import { TracksGet200Response } from './api'; - -const instance: TracksGet200Response = { - data, - error, - success, -}; -``` - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/apps/web/src/types/generated/docs/TracksGet200ResponseAllOfData.md b/apps/web/src/types/generated/docs/TracksGet200ResponseAllOfData.md deleted file mode 100644 index e068780c7..000000000 --- a/apps/web/src/types/generated/docs/TracksGet200ResponseAllOfData.md +++ /dev/null @@ -1,22 +0,0 @@ -# TracksGet200ResponseAllOfData - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**pagination** | **object** | | [optional] [default to undefined] -**tracks** | [**Array<VezaBackendApiInternalModelsTrack>**](VezaBackendApiInternalModelsTrack.md) | | [optional] [default to undefined] - -## Example - -```typescript -import { TracksGet200ResponseAllOfData } from './api'; - -const instance: TracksGet200ResponseAllOfData = { - pagination, - tracks, -}; -``` - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/apps/web/src/types/generated/docs/TracksIdAnalyticsPlaysGet200Response.md b/apps/web/src/types/generated/docs/TracksIdAnalyticsPlaysGet200Response.md deleted file mode 100644 index 19e97c806..000000000 --- a/apps/web/src/types/generated/docs/TracksIdAnalyticsPlaysGet200Response.md +++ /dev/null @@ -1,24 +0,0 @@ -# TracksIdAnalyticsPlaysGet200Response - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**data** | [**TracksIdAnalyticsPlaysGet200ResponseAllOfData**](TracksIdAnalyticsPlaysGet200ResponseAllOfData.md) | | [optional] [default to undefined] -**error** | **object** | | [optional] [default to undefined] -**success** | **boolean** | | [optional] [default to undefined] - -## Example - -```typescript -import { TracksIdAnalyticsPlaysGet200Response } from './api'; - -const instance: TracksIdAnalyticsPlaysGet200Response = { - data, - error, - success, -}; -``` - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/apps/web/src/types/generated/docs/TracksIdAnalyticsPlaysGet200ResponseAllOfData.md b/apps/web/src/types/generated/docs/TracksIdAnalyticsPlaysGet200ResponseAllOfData.md deleted file mode 100644 index a5a410c8a..000000000 --- a/apps/web/src/types/generated/docs/TracksIdAnalyticsPlaysGet200ResponseAllOfData.md +++ /dev/null @@ -1,20 +0,0 @@ -# TracksIdAnalyticsPlaysGet200ResponseAllOfData - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**points** | **Array<string>** | | [optional] [default to undefined] - -## Example - -```typescript -import { TracksIdAnalyticsPlaysGet200ResponseAllOfData } from './api'; - -const instance: TracksIdAnalyticsPlaysGet200ResponseAllOfData = { - points, -}; -``` - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/apps/web/src/types/generated/docs/TracksIdCommentsGet200Response.md b/apps/web/src/types/generated/docs/TracksIdCommentsGet200Response.md deleted file mode 100644 index 80d9f534a..000000000 --- a/apps/web/src/types/generated/docs/TracksIdCommentsGet200Response.md +++ /dev/null @@ -1,24 +0,0 @@ -# TracksIdCommentsGet200Response - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**data** | [**TracksIdCommentsGet200ResponseAllOfData**](TracksIdCommentsGet200ResponseAllOfData.md) | | [optional] [default to undefined] -**error** | **object** | | [optional] [default to undefined] -**success** | **boolean** | | [optional] [default to undefined] - -## Example - -```typescript -import { TracksIdCommentsGet200Response } from './api'; - -const instance: TracksIdCommentsGet200Response = { - data, - error, - success, -}; -``` - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/apps/web/src/types/generated/docs/TracksIdCommentsGet200ResponseAllOfData.md b/apps/web/src/types/generated/docs/TracksIdCommentsGet200ResponseAllOfData.md deleted file mode 100644 index 6f2073463..000000000 --- a/apps/web/src/types/generated/docs/TracksIdCommentsGet200ResponseAllOfData.md +++ /dev/null @@ -1,22 +0,0 @@ -# TracksIdCommentsGet200ResponseAllOfData - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**comments** | **Array<string>** | | [optional] [default to undefined] -**pagination** | **object** | | [optional] [default to undefined] - -## Example - -```typescript -import { TracksIdCommentsGet200ResponseAllOfData } from './api'; - -const instance: TracksIdCommentsGet200ResponseAllOfData = { - comments, - pagination, -}; -``` - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/apps/web/src/types/generated/docs/TracksIdDelete200Response.md b/apps/web/src/types/generated/docs/TracksIdDelete200Response.md deleted file mode 100644 index 7c6763e16..000000000 --- a/apps/web/src/types/generated/docs/TracksIdDelete200Response.md +++ /dev/null @@ -1,24 +0,0 @@ -# TracksIdDelete200Response - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**data** | [**Auth2faDisablePost200ResponseAllOfData**](Auth2faDisablePost200ResponseAllOfData.md) | | [optional] [default to undefined] -**error** | **object** | | [optional] [default to undefined] -**success** | **boolean** | | [optional] [default to undefined] - -## Example - -```typescript -import { TracksIdDelete200Response } from './api'; - -const instance: TracksIdDelete200Response = { - data, - error, - success, -}; -``` - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/apps/web/src/types/generated/docs/TracksIdHistoryGet200Response.md b/apps/web/src/types/generated/docs/TracksIdHistoryGet200Response.md deleted file mode 100644 index 87f2c15e4..000000000 --- a/apps/web/src/types/generated/docs/TracksIdHistoryGet200Response.md +++ /dev/null @@ -1,24 +0,0 @@ -# TracksIdHistoryGet200Response - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**data** | [**TracksIdHistoryGet200ResponseAllOfData**](TracksIdHistoryGet200ResponseAllOfData.md) | | [optional] [default to undefined] -**error** | **object** | | [optional] [default to undefined] -**success** | **boolean** | | [optional] [default to undefined] - -## Example - -```typescript -import { TracksIdHistoryGet200Response } from './api'; - -const instance: TracksIdHistoryGet200Response = { - data, - error, - success, -}; -``` - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/apps/web/src/types/generated/docs/TracksIdHistoryGet200ResponseAllOfData.md b/apps/web/src/types/generated/docs/TracksIdHistoryGet200ResponseAllOfData.md deleted file mode 100644 index 0cb7d1510..000000000 --- a/apps/web/src/types/generated/docs/TracksIdHistoryGet200ResponseAllOfData.md +++ /dev/null @@ -1,26 +0,0 @@ -# TracksIdHistoryGet200ResponseAllOfData - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**history** | **Array<object>** | | [optional] [default to undefined] -**limit** | **number** | | [optional] [default to undefined] -**offset** | **number** | | [optional] [default to undefined] -**total** | **number** | | [optional] [default to undefined] - -## Example - -```typescript -import { TracksIdHistoryGet200ResponseAllOfData } from './api'; - -const instance: TracksIdHistoryGet200ResponseAllOfData = { - history, - limit, - offset, - total, -}; -``` - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/apps/web/src/types/generated/docs/TracksIdLikePost200Response.md b/apps/web/src/types/generated/docs/TracksIdLikePost200Response.md deleted file mode 100644 index 101ae7b94..000000000 --- a/apps/web/src/types/generated/docs/TracksIdLikePost200Response.md +++ /dev/null @@ -1,24 +0,0 @@ -# TracksIdLikePost200Response - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**data** | [**Auth2faDisablePost200ResponseAllOfData**](Auth2faDisablePost200ResponseAllOfData.md) | | [optional] [default to undefined] -**error** | **object** | | [optional] [default to undefined] -**success** | **boolean** | | [optional] [default to undefined] - -## Example - -```typescript -import { TracksIdLikePost200Response } from './api'; - -const instance: TracksIdLikePost200Response = { - data, - error, - success, -}; -``` - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/apps/web/src/types/generated/docs/TracksIdLikesGet200Response.md b/apps/web/src/types/generated/docs/TracksIdLikesGet200Response.md deleted file mode 100644 index e0876e9dd..000000000 --- a/apps/web/src/types/generated/docs/TracksIdLikesGet200Response.md +++ /dev/null @@ -1,24 +0,0 @@ -# TracksIdLikesGet200Response - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**data** | [**TracksIdLikesGet200ResponseAllOfData**](TracksIdLikesGet200ResponseAllOfData.md) | | [optional] [default to undefined] -**error** | **object** | | [optional] [default to undefined] -**success** | **boolean** | | [optional] [default to undefined] - -## Example - -```typescript -import { TracksIdLikesGet200Response } from './api'; - -const instance: TracksIdLikesGet200Response = { - data, - error, - success, -}; -``` - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/apps/web/src/types/generated/docs/TracksIdLikesGet200ResponseAllOfData.md b/apps/web/src/types/generated/docs/TracksIdLikesGet200ResponseAllOfData.md deleted file mode 100644 index af32f4d17..000000000 --- a/apps/web/src/types/generated/docs/TracksIdLikesGet200ResponseAllOfData.md +++ /dev/null @@ -1,22 +0,0 @@ -# TracksIdLikesGet200ResponseAllOfData - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**count** | **number** | | [optional] [default to undefined] -**is_liked** | **boolean** | | [optional] [default to undefined] - -## Example - -```typescript -import { TracksIdLikesGet200ResponseAllOfData } from './api'; - -const instance: TracksIdLikesGet200ResponseAllOfData = { - count, - is_liked, -}; -``` - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/apps/web/src/types/generated/docs/TracksIdLyricsGet200Response.md b/apps/web/src/types/generated/docs/TracksIdLyricsGet200Response.md deleted file mode 100644 index 548c76ad2..000000000 --- a/apps/web/src/types/generated/docs/TracksIdLyricsGet200Response.md +++ /dev/null @@ -1,24 +0,0 @@ -# TracksIdLyricsGet200Response - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**data** | [**TracksIdLyricsGet200ResponseAllOfData**](TracksIdLyricsGet200ResponseAllOfData.md) | | [optional] [default to undefined] -**error** | **object** | | [optional] [default to undefined] -**success** | **boolean** | | [optional] [default to undefined] - -## Example - -```typescript -import { TracksIdLyricsGet200Response } from './api'; - -const instance: TracksIdLyricsGet200Response = { - data, - error, - success, -}; -``` - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/apps/web/src/types/generated/docs/TracksIdLyricsGet200ResponseAllOfData.md b/apps/web/src/types/generated/docs/TracksIdLyricsGet200ResponseAllOfData.md deleted file mode 100644 index d99b8eda3..000000000 --- a/apps/web/src/types/generated/docs/TracksIdLyricsGet200ResponseAllOfData.md +++ /dev/null @@ -1,20 +0,0 @@ -# TracksIdLyricsGet200ResponseAllOfData - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**lyrics** | **object** | | [optional] [default to undefined] - -## Example - -```typescript -import { TracksIdLyricsGet200ResponseAllOfData } from './api'; - -const instance: TracksIdLyricsGet200ResponseAllOfData = { - lyrics, -}; -``` - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/apps/web/src/types/generated/docs/TracksIdPlayPost200Response.md b/apps/web/src/types/generated/docs/TracksIdPlayPost200Response.md deleted file mode 100644 index e71e71974..000000000 --- a/apps/web/src/types/generated/docs/TracksIdPlayPost200Response.md +++ /dev/null @@ -1,24 +0,0 @@ -# TracksIdPlayPost200Response - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**data** | [**TracksIdPlayPost200ResponseAllOfData**](TracksIdPlayPost200ResponseAllOfData.md) | | [optional] [default to undefined] -**error** | **object** | | [optional] [default to undefined] -**success** | **boolean** | | [optional] [default to undefined] - -## Example - -```typescript -import { TracksIdPlayPost200Response } from './api'; - -const instance: TracksIdPlayPost200Response = { - data, - error, - success, -}; -``` - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/apps/web/src/types/generated/docs/TracksIdPlayPost200ResponseAllOfData.md b/apps/web/src/types/generated/docs/TracksIdPlayPost200ResponseAllOfData.md deleted file mode 100644 index c7bcb5593..000000000 --- a/apps/web/src/types/generated/docs/TracksIdPlayPost200ResponseAllOfData.md +++ /dev/null @@ -1,22 +0,0 @@ -# TracksIdPlayPost200ResponseAllOfData - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**id** | **string** | | [optional] [default to undefined] -**message** | **string** | | [optional] [default to undefined] - -## Example - -```typescript -import { TracksIdPlayPost200ResponseAllOfData } from './api'; - -const instance: TracksIdPlayPost200ResponseAllOfData = { - id, - message, -}; -``` - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/apps/web/src/types/generated/docs/TracksIdRepostGet200Response.md b/apps/web/src/types/generated/docs/TracksIdRepostGet200Response.md deleted file mode 100644 index d1e0d43e1..000000000 --- a/apps/web/src/types/generated/docs/TracksIdRepostGet200Response.md +++ /dev/null @@ -1,24 +0,0 @@ -# TracksIdRepostGet200Response - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**data** | [**TracksIdRepostGet200ResponseAllOfData**](TracksIdRepostGet200ResponseAllOfData.md) | | [optional] [default to undefined] -**error** | **object** | | [optional] [default to undefined] -**success** | **boolean** | | [optional] [default to undefined] - -## Example - -```typescript -import { TracksIdRepostGet200Response } from './api'; - -const instance: TracksIdRepostGet200Response = { - data, - error, - success, -}; -``` - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/apps/web/src/types/generated/docs/TracksIdRepostGet200ResponseAllOfData.md b/apps/web/src/types/generated/docs/TracksIdRepostGet200ResponseAllOfData.md deleted file mode 100644 index 1594aa01d..000000000 --- a/apps/web/src/types/generated/docs/TracksIdRepostGet200ResponseAllOfData.md +++ /dev/null @@ -1,20 +0,0 @@ -# TracksIdRepostGet200ResponseAllOfData - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**is_reposted** | **boolean** | | [optional] [default to undefined] - -## Example - -```typescript -import { TracksIdRepostGet200ResponseAllOfData } from './api'; - -const instance: TracksIdRepostGet200ResponseAllOfData = { - is_reposted, -}; -``` - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/apps/web/src/types/generated/docs/TracksIdSharePost200Response.md b/apps/web/src/types/generated/docs/TracksIdSharePost200Response.md deleted file mode 100644 index 378735040..000000000 --- a/apps/web/src/types/generated/docs/TracksIdSharePost200Response.md +++ /dev/null @@ -1,24 +0,0 @@ -# TracksIdSharePost200Response - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**data** | [**PlaylistsIdSharePost200ResponseAllOfData**](PlaylistsIdSharePost200ResponseAllOfData.md) | | [optional] [default to undefined] -**error** | **object** | | [optional] [default to undefined] -**success** | **boolean** | | [optional] [default to undefined] - -## Example - -```typescript -import { TracksIdSharePost200Response } from './api'; - -const instance: TracksIdSharePost200Response = { - data, - error, - success, -}; -``` - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/apps/web/src/types/generated/docs/TracksIdStatsGet200Response.md b/apps/web/src/types/generated/docs/TracksIdStatsGet200Response.md deleted file mode 100644 index 55d28e62b..000000000 --- a/apps/web/src/types/generated/docs/TracksIdStatsGet200Response.md +++ /dev/null @@ -1,24 +0,0 @@ -# TracksIdStatsGet200Response - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**data** | [**AuditStatsGet200ResponseAllOfData**](AuditStatsGet200ResponseAllOfData.md) | | [optional] [default to undefined] -**error** | **object** | | [optional] [default to undefined] -**success** | **boolean** | | [optional] [default to undefined] - -## Example - -```typescript -import { TracksIdStatsGet200Response } from './api'; - -const instance: TracksIdStatsGet200Response = { - data, - error, - success, -}; -``` - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/apps/web/src/types/generated/docs/TracksIdStatusGet200Response.md b/apps/web/src/types/generated/docs/TracksIdStatusGet200Response.md deleted file mode 100644 index 41bf26243..000000000 --- a/apps/web/src/types/generated/docs/TracksIdStatusGet200Response.md +++ /dev/null @@ -1,24 +0,0 @@ -# TracksIdStatusGet200Response - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**data** | [**TracksIdStatusGet200ResponseAllOfData**](TracksIdStatusGet200ResponseAllOfData.md) | | [optional] [default to undefined] -**error** | **object** | | [optional] [default to undefined] -**success** | **boolean** | | [optional] [default to undefined] - -## Example - -```typescript -import { TracksIdStatusGet200Response } from './api'; - -const instance: TracksIdStatusGet200Response = { - data, - error, - success, -}; -``` - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/apps/web/src/types/generated/docs/TracksIdStatusGet200ResponseAllOfData.md b/apps/web/src/types/generated/docs/TracksIdStatusGet200ResponseAllOfData.md deleted file mode 100644 index 216fd91e9..000000000 --- a/apps/web/src/types/generated/docs/TracksIdStatusGet200ResponseAllOfData.md +++ /dev/null @@ -1,20 +0,0 @@ -# TracksIdStatusGet200ResponseAllOfData - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**progress** | **number** | | [optional] [default to undefined] - -## Example - -```typescript -import { TracksIdStatusGet200ResponseAllOfData } from './api'; - -const instance: TracksIdStatusGet200ResponseAllOfData = { - progress, -}; -``` - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/apps/web/src/types/generated/docs/TracksInitiatePost200Response.md b/apps/web/src/types/generated/docs/TracksInitiatePost200Response.md deleted file mode 100644 index 08cb06c62..000000000 --- a/apps/web/src/types/generated/docs/TracksInitiatePost200Response.md +++ /dev/null @@ -1,24 +0,0 @@ -# TracksInitiatePost200Response - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**data** | [**TracksInitiatePost200ResponseAllOfData**](TracksInitiatePost200ResponseAllOfData.md) | | [optional] [default to undefined] -**error** | **object** | | [optional] [default to undefined] -**success** | **boolean** | | [optional] [default to undefined] - -## Example - -```typescript -import { TracksInitiatePost200Response } from './api'; - -const instance: TracksInitiatePost200Response = { - data, - error, - success, -}; -``` - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/apps/web/src/types/generated/docs/TracksInitiatePost200ResponseAllOfData.md b/apps/web/src/types/generated/docs/TracksInitiatePost200ResponseAllOfData.md deleted file mode 100644 index 894e25c9e..000000000 --- a/apps/web/src/types/generated/docs/TracksInitiatePost200ResponseAllOfData.md +++ /dev/null @@ -1,22 +0,0 @@ -# TracksInitiatePost200ResponseAllOfData - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**message** | **string** | | [optional] [default to undefined] -**upload_id** | **string** | | [optional] [default to undefined] - -## Example - -```typescript -import { TracksInitiatePost200ResponseAllOfData } from './api'; - -const instance: TracksInitiatePost200ResponseAllOfData = { - message, - upload_id, -}; -``` - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/apps/web/src/types/generated/docs/TracksPost201Response.md b/apps/web/src/types/generated/docs/TracksPost201Response.md deleted file mode 100644 index 0106ca42b..000000000 --- a/apps/web/src/types/generated/docs/TracksPost201Response.md +++ /dev/null @@ -1,24 +0,0 @@ -# TracksPost201Response - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**data** | [**TracksPost201ResponseAllOfData**](TracksPost201ResponseAllOfData.md) | | [optional] [default to undefined] -**error** | **object** | | [optional] [default to undefined] -**success** | **boolean** | | [optional] [default to undefined] - -## Example - -```typescript -import { TracksPost201Response } from './api'; - -const instance: TracksPost201Response = { - data, - error, - success, -}; -``` - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/apps/web/src/types/generated/docs/TracksPost201ResponseAllOfData.md b/apps/web/src/types/generated/docs/TracksPost201ResponseAllOfData.md deleted file mode 100644 index e44c6a8f4..000000000 --- a/apps/web/src/types/generated/docs/TracksPost201ResponseAllOfData.md +++ /dev/null @@ -1,20 +0,0 @@ -# TracksPost201ResponseAllOfData - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**track** | [**VezaBackendApiInternalModelsTrack**](VezaBackendApiInternalModelsTrack.md) | | [optional] [default to undefined] - -## Example - -```typescript -import { TracksPost201ResponseAllOfData } from './api'; - -const instance: TracksPost201ResponseAllOfData = { - track, -}; -``` - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/apps/web/src/types/generated/docs/TracksQuotaIdGet200Response.md b/apps/web/src/types/generated/docs/TracksQuotaIdGet200Response.md deleted file mode 100644 index 81b2057a4..000000000 --- a/apps/web/src/types/generated/docs/TracksQuotaIdGet200Response.md +++ /dev/null @@ -1,24 +0,0 @@ -# TracksQuotaIdGet200Response - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**data** | [**TracksQuotaIdGet200ResponseAllOfData**](TracksQuotaIdGet200ResponseAllOfData.md) | | [optional] [default to undefined] -**error** | **object** | | [optional] [default to undefined] -**success** | **boolean** | | [optional] [default to undefined] - -## Example - -```typescript -import { TracksQuotaIdGet200Response } from './api'; - -const instance: TracksQuotaIdGet200Response = { - data, - error, - success, -}; -``` - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/apps/web/src/types/generated/docs/TracksQuotaIdGet200ResponseAllOfData.md b/apps/web/src/types/generated/docs/TracksQuotaIdGet200ResponseAllOfData.md deleted file mode 100644 index a6dec50b5..000000000 --- a/apps/web/src/types/generated/docs/TracksQuotaIdGet200ResponseAllOfData.md +++ /dev/null @@ -1,20 +0,0 @@ -# TracksQuotaIdGet200ResponseAllOfData - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**quota** | **object** | | [optional] [default to undefined] - -## Example - -```typescript -import { TracksQuotaIdGet200ResponseAllOfData } from './api'; - -const instance: TracksQuotaIdGet200ResponseAllOfData = { - quota, -}; -``` - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/apps/web/src/types/generated/docs/TracksRecommendationsGet200Response.md b/apps/web/src/types/generated/docs/TracksRecommendationsGet200Response.md deleted file mode 100644 index 675e43aaf..000000000 --- a/apps/web/src/types/generated/docs/TracksRecommendationsGet200Response.md +++ /dev/null @@ -1,24 +0,0 @@ -# TracksRecommendationsGet200Response - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**data** | [**TracksRecommendationsGet200ResponseAllOfData**](TracksRecommendationsGet200ResponseAllOfData.md) | | [optional] [default to undefined] -**error** | **object** | | [optional] [default to undefined] -**success** | **boolean** | | [optional] [default to undefined] - -## Example - -```typescript -import { TracksRecommendationsGet200Response } from './api'; - -const instance: TracksRecommendationsGet200Response = { - data, - error, - success, -}; -``` - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/apps/web/src/types/generated/docs/TracksRecommendationsGet200ResponseAllOfData.md b/apps/web/src/types/generated/docs/TracksRecommendationsGet200ResponseAllOfData.md deleted file mode 100644 index 068c11b31..000000000 --- a/apps/web/src/types/generated/docs/TracksRecommendationsGet200ResponseAllOfData.md +++ /dev/null @@ -1,20 +0,0 @@ -# TracksRecommendationsGet200ResponseAllOfData - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**tracks** | [**Array<VezaBackendApiInternalModelsTrack>**](VezaBackendApiInternalModelsTrack.md) | | [optional] [default to undefined] - -## Example - -```typescript -import { TracksRecommendationsGet200ResponseAllOfData } from './api'; - -const instance: TracksRecommendationsGet200ResponseAllOfData = { - tracks, -}; -``` - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/apps/web/src/types/generated/docs/TracksResumeUploadIdGet200Response.md b/apps/web/src/types/generated/docs/TracksResumeUploadIdGet200Response.md deleted file mode 100644 index e5e20e1aa..000000000 --- a/apps/web/src/types/generated/docs/TracksResumeUploadIdGet200Response.md +++ /dev/null @@ -1,24 +0,0 @@ -# TracksResumeUploadIdGet200Response - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**data** | [**TracksResumeUploadIdGet200ResponseAllOfData**](TracksResumeUploadIdGet200ResponseAllOfData.md) | | [optional] [default to undefined] -**error** | **object** | | [optional] [default to undefined] -**success** | **boolean** | | [optional] [default to undefined] - -## Example - -```typescript -import { TracksResumeUploadIdGet200Response } from './api'; - -const instance: TracksResumeUploadIdGet200Response = { - data, - error, - success, -}; -``` - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/apps/web/src/types/generated/docs/TracksResumeUploadIdGet200ResponseAllOfData.md b/apps/web/src/types/generated/docs/TracksResumeUploadIdGet200ResponseAllOfData.md deleted file mode 100644 index a25c19efb..000000000 --- a/apps/web/src/types/generated/docs/TracksResumeUploadIdGet200ResponseAllOfData.md +++ /dev/null @@ -1,22 +0,0 @@ -# TracksResumeUploadIdGet200ResponseAllOfData - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**chunks_received** | **number** | | [optional] [default to undefined] -**upload_id** | **string** | | [optional] [default to undefined] - -## Example - -```typescript -import { TracksResumeUploadIdGet200ResponseAllOfData } from './api'; - -const instance: TracksResumeUploadIdGet200ResponseAllOfData = { - chunks_received, - upload_id, -}; -``` - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/apps/web/src/types/generated/docs/TracksSharedTokenGet200Response.md b/apps/web/src/types/generated/docs/TracksSharedTokenGet200Response.md deleted file mode 100644 index a52244346..000000000 --- a/apps/web/src/types/generated/docs/TracksSharedTokenGet200Response.md +++ /dev/null @@ -1,24 +0,0 @@ -# TracksSharedTokenGet200Response - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**data** | [**TracksSharedTokenGet200ResponseAllOfData**](TracksSharedTokenGet200ResponseAllOfData.md) | | [optional] [default to undefined] -**error** | **object** | | [optional] [default to undefined] -**success** | **boolean** | | [optional] [default to undefined] - -## Example - -```typescript -import { TracksSharedTokenGet200Response } from './api'; - -const instance: TracksSharedTokenGet200Response = { - data, - error, - success, -}; -``` - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/apps/web/src/types/generated/docs/TracksSharedTokenGet200ResponseAllOfData.md b/apps/web/src/types/generated/docs/TracksSharedTokenGet200ResponseAllOfData.md deleted file mode 100644 index 8165eca02..000000000 --- a/apps/web/src/types/generated/docs/TracksSharedTokenGet200ResponseAllOfData.md +++ /dev/null @@ -1,22 +0,0 @@ -# TracksSharedTokenGet200ResponseAllOfData - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**share** | **object** | | [optional] [default to undefined] -**track** | [**VezaBackendApiInternalModelsTrack**](VezaBackendApiInternalModelsTrack.md) | | [optional] [default to undefined] - -## Example - -```typescript -import { TracksSharedTokenGet200ResponseAllOfData } from './api'; - -const instance: TracksSharedTokenGet200ResponseAllOfData = { - share, - track, -}; -``` - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/apps/web/src/types/generated/docs/TracksSuggestedTagsGet200Response.md b/apps/web/src/types/generated/docs/TracksSuggestedTagsGet200Response.md deleted file mode 100644 index fa307120a..000000000 --- a/apps/web/src/types/generated/docs/TracksSuggestedTagsGet200Response.md +++ /dev/null @@ -1,24 +0,0 @@ -# TracksSuggestedTagsGet200Response - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**data** | [**TracksSuggestedTagsGet200ResponseAllOfData**](TracksSuggestedTagsGet200ResponseAllOfData.md) | | [optional] [default to undefined] -**error** | **object** | | [optional] [default to undefined] -**success** | **boolean** | | [optional] [default to undefined] - -## Example - -```typescript -import { TracksSuggestedTagsGet200Response } from './api'; - -const instance: TracksSuggestedTagsGet200Response = { - data, - error, - success, -}; -``` - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/apps/web/src/types/generated/docs/TracksSuggestedTagsGet200ResponseAllOfData.md b/apps/web/src/types/generated/docs/TracksSuggestedTagsGet200ResponseAllOfData.md deleted file mode 100644 index 335d07a84..000000000 --- a/apps/web/src/types/generated/docs/TracksSuggestedTagsGet200ResponseAllOfData.md +++ /dev/null @@ -1,20 +0,0 @@ -# TracksSuggestedTagsGet200ResponseAllOfData - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**tags** | **Array<string>** | | [optional] [default to undefined] - -## Example - -```typescript -import { TracksSuggestedTagsGet200ResponseAllOfData } from './api'; - -const instance: TracksSuggestedTagsGet200ResponseAllOfData = { - tags, -}; -``` - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/apps/web/src/types/generated/docs/UserApi.md b/apps/web/src/types/generated/docs/UserApi.md deleted file mode 100644 index 58f392918..000000000 --- a/apps/web/src/types/generated/docs/UserApi.md +++ /dev/null @@ -1,815 +0,0 @@ -# UserApi - -All URIs are relative to *http://localhost:18080/api/v1* - -|Method | HTTP request | Description| -|------------- | ------------- | -------------| -|[**usersByUsernameUsernameGet**](#usersbyusernameusernameget) | **GET** /users/by-username/{username} | Get Profile by Username| -|[**usersGet**](#usersget) | **GET** /users | List Users| -|[**usersIdBlockDelete**](#usersidblockdelete) | **DELETE** /users/{id}/block | Unblock user| -|[**usersIdBlockPost**](#usersidblockpost) | **POST** /users/{id}/block | Block user| -|[**usersIdCompletionGet**](#usersidcompletionget) | **GET** /users/{id}/completion | Get Profile Completion| -|[**usersIdDelete**](#usersiddelete) | **DELETE** /users/{id} | Delete user| -|[**usersIdFollowDelete**](#usersidfollowdelete) | **DELETE** /users/{id}/follow | Unfollow user| -|[**usersIdFollowPost**](#usersidfollowpost) | **POST** /users/{id}/follow | Follow user| -|[**usersIdGet**](#usersidget) | **GET** /users/{id} | Get Profile by ID| -|[**usersIdLikesGet**](#usersidlikesget) | **GET** /users/{id}/likes | List tracks liked by a user| -|[**usersIdPut**](#usersidput) | **PUT** /users/{id} | Update Profile| -|[**usersIdRepostsGet**](#usersidrepostsget) | **GET** /users/{id}/reposts | List tracks reposted by a user| -|[**usersSearchGet**](#userssearchget) | **GET** /users/search | Search users| -|[**usersSuggestionsGet**](#userssuggestionsget) | **GET** /users/suggestions | Get follow suggestions| - -# **usersByUsernameUsernameGet** -> UsersIdGet200Response usersByUsernameUsernameGet() - -Get public profile information for a user by username - -### Example - -```typescript -import { - UserApi, - Configuration -} from './api'; - -const configuration = new Configuration(); -const apiInstance = new UserApi(configuration); - -let username: string; //Username (default to undefined) - -const { status, data } = await apiInstance.usersByUsernameUsernameGet( - username -); -``` - -### Parameters - -|Name | Type | Description | Notes| -|------------- | ------------- | ------------- | -------------| -| **username** | [**string**] | Username | defaults to undefined| - - -### Return type - -**UsersIdGet200Response** - -### Authorization - -No authorization required - -### HTTP request headers - - - **Content-Type**: Not defined - - **Accept**: application/json - - -### HTTP response details -| Status code | Description | Response headers | -|-------------|-------------|------------------| -|**200** | OK | - | -|**400** | Missing username | - | -|**404** | User not found | - | - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **usersGet** -> UsersGet200Response usersGet() - -Get a paginated list of users with optional filtering - -### Example - -```typescript -import { - UserApi, - Configuration -} from './api'; - -const configuration = new Configuration(); -const apiInstance = new UserApi(configuration); - -let page: number; //Page number (optional) (default to 1) -let limit: number; //Items per page (optional) (default to 20) -let role: string; //Filter by role (optional) (default to undefined) -let isActive: boolean; //Filter by active status (optional) (default to undefined) -let isVerified: boolean; //Filter by verified status (optional) (default to undefined) -let search: string; //Search by username, email, first_name, last_name (optional) (default to undefined) -let sortBy: string; //Sort field (created_at, username, email, last_login_at) (optional) (default to 'created_at') -let sortOrder: string; //Sort order (asc, desc) (optional) (default to 'desc') - -const { status, data } = await apiInstance.usersGet( - page, - limit, - role, - isActive, - isVerified, - search, - sortBy, - sortOrder -); -``` - -### Parameters - -|Name | Type | Description | Notes| -|------------- | ------------- | ------------- | -------------| -| **page** | [**number**] | Page number | (optional) defaults to 1| -| **limit** | [**number**] | Items per page | (optional) defaults to 20| -| **role** | [**string**] | Filter by role | (optional) defaults to undefined| -| **isActive** | [**boolean**] | Filter by active status | (optional) defaults to undefined| -| **isVerified** | [**boolean**] | Filter by verified status | (optional) defaults to undefined| -| **search** | [**string**] | Search by username, email, first_name, last_name | (optional) defaults to undefined| -| **sortBy** | [**string**] | Sort field (created_at, username, email, last_login_at) | (optional) defaults to 'created_at'| -| **sortOrder** | [**string**] | Sort order (asc, desc) | (optional) defaults to 'desc'| - - -### Return type - -**UsersGet200Response** - -### Authorization - -No authorization required - -### HTTP request headers - - - **Content-Type**: Not defined - - **Accept**: application/json - - -### HTTP response details -| Status code | Description | Response headers | -|-------------|-------------|------------------| -|**200** | OK | - | -|**500** | Internal Error | - | - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **usersIdBlockDelete** -> Auth2faDisablePost200Response usersIdBlockDelete() - -Authenticated user unblocks target user (idempotent). - -### Example - -```typescript -import { - UserApi, - Configuration -} from './api'; - -const configuration = new Configuration(); -const apiInstance = new UserApi(configuration); - -let id: string; //Target user UUID (default to undefined) - -const { status, data } = await apiInstance.usersIdBlockDelete( - id -); -``` - -### Parameters - -|Name | Type | Description | Notes| -|------------- | ------------- | ------------- | -------------| -| **id** | [**string**] | Target user UUID | defaults to undefined| - - -### Return type - -**Auth2faDisablePost200Response** - -### Authorization - -[BearerAuth](../README.md#BearerAuth) - -### HTTP request headers - - - **Content-Type**: Not defined - - **Accept**: application/json - - -### HTTP response details -| Status code | Description | Response headers | -|-------------|-------------|------------------| -|**200** | OK | - | -|**400** | Invalid id | - | -|**401** | Unauthorized | - | -|**500** | Internal Error | - | - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **usersIdBlockPost** -> Auth2faDisablePost200Response usersIdBlockPost() - -Authenticated user blocks target user (hides their content, prevents follows). Cannot self-block. - -### Example - -```typescript -import { - UserApi, - Configuration -} from './api'; - -const configuration = new Configuration(); -const apiInstance = new UserApi(configuration); - -let id: string; //Target user UUID (default to undefined) - -const { status, data } = await apiInstance.usersIdBlockPost( - id -); -``` - -### Parameters - -|Name | Type | Description | Notes| -|------------- | ------------- | ------------- | -------------| -| **id** | [**string**] | Target user UUID | defaults to undefined| - - -### Return type - -**Auth2faDisablePost200Response** - -### Authorization - -[BearerAuth](../README.md#BearerAuth) - -### HTTP request headers - - - **Content-Type**: Not defined - - **Accept**: application/json - - -### HTTP response details -| Status code | Description | Response headers | -|-------------|-------------|------------------| -|**200** | OK | - | -|**400** | Validation / self-block | - | -|**401** | Unauthorized | - | -|**500** | Internal Error | - | - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **usersIdCompletionGet** -> AuthMeGet200Response usersIdCompletionGet() - -Get profile completion percentage and missing fields - -### Example - -```typescript -import { - UserApi, - Configuration -} from './api'; - -const configuration = new Configuration(); -const apiInstance = new UserApi(configuration); - -let id: string; //User ID (default to undefined) - -const { status, data } = await apiInstance.usersIdCompletionGet( - id -); -``` - -### Parameters - -|Name | Type | Description | Notes| -|------------- | ------------- | ------------- | -------------| -| **id** | [**string**] | User ID | defaults to undefined| - - -### Return type - -**AuthMeGet200Response** - -### Authorization - -No authorization required - -### HTTP request headers - - - **Content-Type**: Not defined - - **Accept**: application/json - - -### HTTP response details -| Status code | Description | Response headers | -|-------------|-------------|------------------| -|**200** | OK | - | -|**400** | Invalid ID | - | -|**401** | Unauthorized | - | -|**403** | Forbidden | - | - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **usersIdDelete** -> InternalHandlersAPIResponse usersIdDelete() - -Soft delete a user (only user owner or admin can delete) - -### Example - -```typescript -import { - UserApi, - Configuration -} from './api'; - -const configuration = new Configuration(); -const apiInstance = new UserApi(configuration); - -let id: string; //User ID (default to undefined) - -const { status, data } = await apiInstance.usersIdDelete( - id -); -``` - -### Parameters - -|Name | Type | Description | Notes| -|------------- | ------------- | ------------- | -------------| -| **id** | [**string**] | User ID | defaults to undefined| - - -### Return type - -**InternalHandlersAPIResponse** - -### Authorization - -[BearerAuth](../README.md#BearerAuth) - -### HTTP request headers - - - **Content-Type**: Not defined - - **Accept**: application/json - - -### HTTP response details -| Status code | Description | Response headers | -|-------------|-------------|------------------| -|**200** | User deleted successfully | - | -|**400** | Invalid ID | - | -|**401** | Unauthorized | - | -|**403** | Forbidden - Not user owner or admin | - | -|**404** | User not found | - | - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **usersIdFollowDelete** -> Auth2faDisablePost200Response usersIdFollowDelete() - -Authenticated user stops following target user (idempotent). - -### Example - -```typescript -import { - UserApi, - Configuration -} from './api'; - -const configuration = new Configuration(); -const apiInstance = new UserApi(configuration); - -let id: string; //Target user UUID (default to undefined) - -const { status, data } = await apiInstance.usersIdFollowDelete( - id -); -``` - -### Parameters - -|Name | Type | Description | Notes| -|------------- | ------------- | ------------- | -------------| -| **id** | [**string**] | Target user UUID | defaults to undefined| - - -### Return type - -**Auth2faDisablePost200Response** - -### Authorization - -[BearerAuth](../README.md#BearerAuth) - -### HTTP request headers - - - **Content-Type**: Not defined - - **Accept**: application/json - - -### HTTP response details -| Status code | Description | Response headers | -|-------------|-------------|------------------| -|**200** | OK | - | -|**400** | Invalid id | - | -|**401** | Unauthorized | - | -|**500** | Internal Error | - | - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **usersIdFollowPost** -> Auth2faDisablePost200Response usersIdFollowPost() - -Authenticated user follows target user. Creates a notification (F554 grouped) for the target. - -### Example - -```typescript -import { - UserApi, - Configuration -} from './api'; - -const configuration = new Configuration(); -const apiInstance = new UserApi(configuration); - -let id: string; //Target user UUID (default to undefined) - -const { status, data } = await apiInstance.usersIdFollowPost( - id -); -``` - -### Parameters - -|Name | Type | Description | Notes| -|------------- | ------------- | ------------- | -------------| -| **id** | [**string**] | Target user UUID | defaults to undefined| - - -### Return type - -**Auth2faDisablePost200Response** - -### Authorization - -[BearerAuth](../README.md#BearerAuth) - -### HTTP request headers - - - **Content-Type**: Not defined - - **Accept**: application/json - - -### HTTP response details -| Status code | Description | Response headers | -|-------------|-------------|------------------| -|**200** | OK | - | -|**400** | Invalid id | - | -|**401** | Unauthorized | - | -|**404** | User not found | - | -|**500** | Internal Error | - | - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **usersIdGet** -> UsersIdGet200Response usersIdGet() - -Get public profile information for a user - -### Example - -```typescript -import { - UserApi, - Configuration -} from './api'; - -const configuration = new Configuration(); -const apiInstance = new UserApi(configuration); - -let id: string; //User ID (default to undefined) - -const { status, data } = await apiInstance.usersIdGet( - id -); -``` - -### Parameters - -|Name | Type | Description | Notes| -|------------- | ------------- | ------------- | -------------| -| **id** | [**string**] | User ID | defaults to undefined| - - -### Return type - -**UsersIdGet200Response** - -### Authorization - -No authorization required - -### HTTP request headers - - - **Content-Type**: Not defined - - **Accept**: application/json - - -### HTTP response details -| Status code | Description | Response headers | -|-------------|-------------|------------------| -|**200** | OK | - | -|**400** | Invalid ID | - | -|**404** | User not found | - | - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **usersIdLikesGet** -> UsersIdLikesGet200Response usersIdLikesGet() - -Returns paginated tracks the given user has liked. Used for profile \"Likes\" tab. - -### Example - -```typescript -import { - UserApi, - Configuration -} from './api'; - -const configuration = new Configuration(); -const apiInstance = new UserApi(configuration); - -let id: string; //User UUID (default to undefined) -let limit: number; //Items per page (max 100) (optional) (default to 20) -let offset: number; //Offset for pagination (optional) (default to 0) - -const { status, data } = await apiInstance.usersIdLikesGet( - id, - limit, - offset -); -``` - -### Parameters - -|Name | Type | Description | Notes| -|------------- | ------------- | ------------- | -------------| -| **id** | [**string**] | User UUID | defaults to undefined| -| **limit** | [**number**] | Items per page (max 100) | (optional) defaults to 20| -| **offset** | [**number**] | Offset for pagination | (optional) defaults to 0| - - -### Return type - -**UsersIdLikesGet200Response** - -### Authorization - -[BearerAuth](../README.md#BearerAuth) - -### HTTP request headers - - - **Content-Type**: Not defined - - **Accept**: application/json - - -### HTTP response details -| Status code | Description | Response headers | -|-------------|-------------|------------------| -|**200** | OK | - | -|**400** | Validation | - | -|**401** | Unauthorized | - | -|**500** | Internal Error | - | - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **usersIdPut** -> UsersIdGet200Response usersIdPut(profile) - -Update user profile details - -### Example - -```typescript -import { - UserApi, - Configuration, - InternalHandlersUpdateProfileRequest -} from './api'; - -const configuration = new Configuration(); -const apiInstance = new UserApi(configuration); - -let id: string; //User ID (default to undefined) -let profile: InternalHandlersUpdateProfileRequest; //Profile Data - -const { status, data } = await apiInstance.usersIdPut( - id, - profile -); -``` - -### Parameters - -|Name | Type | Description | Notes| -|------------- | ------------- | ------------- | -------------| -| **profile** | **InternalHandlersUpdateProfileRequest**| Profile Data | | -| **id** | [**string**] | User ID | defaults to undefined| - - -### Return type - -**UsersIdGet200Response** - -### Authorization - -[BearerAuth](../README.md#BearerAuth) - -### HTTP request headers - - - **Content-Type**: application/json - - **Accept**: application/json - - -### HTTP response details -| Status code | Description | Response headers | -|-------------|-------------|------------------| -|**200** | OK | - | -|**400** | Validation Error | - | -|**401** | Unauthorized | - | -|**403** | Forbidden | - | - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **usersIdRepostsGet** -> UsersIdLikesGet200Response usersIdRepostsGet() - -Returns paginated tracks the user has reposted. Used for profile \"Reposts\" tab. - -### Example - -```typescript -import { - UserApi, - Configuration -} from './api'; - -const configuration = new Configuration(); -const apiInstance = new UserApi(configuration); - -let id: string; //User UUID (default to undefined) -let limit: number; //Items per page (max 100) (optional) (default to 20) -let offset: number; //Offset for pagination (optional) (default to 0) - -const { status, data } = await apiInstance.usersIdRepostsGet( - id, - limit, - offset -); -``` - -### Parameters - -|Name | Type | Description | Notes| -|------------- | ------------- | ------------- | -------------| -| **id** | [**string**] | User UUID | defaults to undefined| -| **limit** | [**number**] | Items per page (max 100) | (optional) defaults to 20| -| **offset** | [**number**] | Offset for pagination | (optional) defaults to 0| - - -### Return type - -**UsersIdLikesGet200Response** - -### Authorization - -No authorization required - -### HTTP request headers - - - **Content-Type**: Not defined - - **Accept**: application/json - - -### HTTP response details -| Status code | Description | Response headers | -|-------------|-------------|------------------| -|**200** | OK | - | -|**400** | Validation | - | -|**500** | Internal Error | - | - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **usersSearchGet** -> UsersSearchGet200Response usersSearchGet() - -Full-text search on users (username, display_name). Paginated. Public. - -### Example - -```typescript -import { - UserApi, - Configuration -} from './api'; - -const configuration = new Configuration(); -const apiInstance = new UserApi(configuration); - -let q: string; //Full-text query (optional) (default to undefined) -let page: number; //Page (optional) (default to 1) -let limit: number; //Items per page (max 100) (optional) (default to 20) - -const { status, data } = await apiInstance.usersSearchGet( - q, - page, - limit -); -``` - -### Parameters - -|Name | Type | Description | Notes| -|------------- | ------------- | ------------- | -------------| -| **q** | [**string**] | Full-text query | (optional) defaults to undefined| -| **page** | [**number**] | Page | (optional) defaults to 1| -| **limit** | [**number**] | Items per page (max 100) | (optional) defaults to 20| - - -### Return type - -**UsersSearchGet200Response** - -### Authorization - -No authorization required - -### HTTP request headers - - - **Content-Type**: Not defined - - **Accept**: application/json - - -### HTTP response details -| Status code | Description | Response headers | -|-------------|-------------|------------------| -|**200** | OK | - | -|**400** | Validation (bounds) | - | -|**500** | Internal Error | - | - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **usersSuggestionsGet** -> UsersSuggestionsGet200Response usersSuggestionsGet() - -Returns suggested users to follow for the authenticated user. Declarative discovery — no behavioural scoring (CLAUDE.md rule 7). - -### Example - -```typescript -import { - UserApi, - Configuration -} from './api'; - -const configuration = new Configuration(); -const apiInstance = new UserApi(configuration); - -let limit: number; //Max items (max 50) (optional) (default to 10) - -const { status, data } = await apiInstance.usersSuggestionsGet( - limit -); -``` - -### Parameters - -|Name | Type | Description | Notes| -|------------- | ------------- | ------------- | -------------| -| **limit** | [**number**] | Max items (max 50) | (optional) defaults to 10| - - -### Return type - -**UsersSuggestionsGet200Response** - -### Authorization - -[BearerAuth](../README.md#BearerAuth) - -### HTTP request headers - - - **Content-Type**: Not defined - - **Accept**: application/json - - -### HTTP response details -| Status code | Description | Response headers | -|-------------|-------------|------------------| -|**200** | OK | - | -|**401** | Unauthorized | - | -|**500** | Internal Error | - | - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - diff --git a/apps/web/src/types/generated/docs/UsersApi.md b/apps/web/src/types/generated/docs/UsersApi.md deleted file mode 100644 index 8f5c7c564..000000000 --- a/apps/web/src/types/generated/docs/UsersApi.md +++ /dev/null @@ -1,110 +0,0 @@ -# UsersApi - -All URIs are relative to *http://localhost:18080/api/v1* - -|Method | HTTP request | Description| -|------------- | ------------- | -------------| -|[**usersMeDelete**](#usersmedelete) | **DELETE** /users/me | Delete account| -|[**usersMePrivacyOptOutPost**](#usersmeprivacyoptoutpost) | **POST** /users/me/privacy/opt-out | CCPA Do Not Sell opt-out| - -# **usersMeDelete** -> { [key: string]: any; } usersMeDelete(body) - -Permanently delete user account with anonymization, session revocation, audit log - -### Example - -```typescript -import { - UsersApi, - Configuration, - InternalHandlersDeleteAccountRequest -} from './api'; - -const configuration = new Configuration(); -const apiInstance = new UsersApi(configuration); - -let body: InternalHandlersDeleteAccountRequest; //Password, reason, confirm_text (must be DELETE) - -const { status, data } = await apiInstance.usersMeDelete( - body -); -``` - -### Parameters - -|Name | Type | Description | Notes| -|------------- | ------------- | ------------- | -------------| -| **body** | **InternalHandlersDeleteAccountRequest**| Password, reason, confirm_text (must be DELETE) | | - - -### Return type - -**{ [key: string]: any; }** - -### Authorization - -[BearerAuth](../README.md#BearerAuth) - -### HTTP request headers - - - **Content-Type**: Not defined - - **Accept**: */* - - -### HTTP response details -| Status code | Description | Response headers | -|-------------|-------------|------------------| -|**200** | OK | - | -|**400** | Bad Request | - | -|**401** | Unauthorized | - | -|**500** | Internal Server Error | - | - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **usersMePrivacyOptOutPost** -> { [key: string]: any; } usersMePrivacyOptOutPost() - -Saves the user\'s Do Not Sell preference (CCPA compliance) - -### Example - -```typescript -import { - UsersApi, - Configuration -} from './api'; - -const configuration = new Configuration(); -const apiInstance = new UsersApi(configuration); - -const { status, data } = await apiInstance.usersMePrivacyOptOutPost(); -``` - -### Parameters -This endpoint does not have any parameters. - - -### Return type - -**{ [key: string]: any; }** - -### Authorization - -[BearerAuth](../README.md#BearerAuth) - -### HTTP request headers - - - **Content-Type**: Not defined - - **Accept**: */* - - -### HTTP response details -| Status code | Description | Response headers | -|-------------|-------------|------------------| -|**200** | OK | - | -|**401** | Unauthorized | - | -|**500** | Internal Server Error | - | - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - diff --git a/apps/web/src/types/generated/docs/UsersGet200Response.md b/apps/web/src/types/generated/docs/UsersGet200Response.md deleted file mode 100644 index dba2c22d5..000000000 --- a/apps/web/src/types/generated/docs/UsersGet200Response.md +++ /dev/null @@ -1,24 +0,0 @@ -# UsersGet200Response - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**data** | [**UsersGet200ResponseAllOfData**](UsersGet200ResponseAllOfData.md) | | [optional] [default to undefined] -**error** | **object** | | [optional] [default to undefined] -**success** | **boolean** | | [optional] [default to undefined] - -## Example - -```typescript -import { UsersGet200Response } from './api'; - -const instance: UsersGet200Response = { - data, - error, - success, -}; -``` - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/apps/web/src/types/generated/docs/UsersGet200ResponseAllOfData.md b/apps/web/src/types/generated/docs/UsersGet200ResponseAllOfData.md deleted file mode 100644 index 5e212eec9..000000000 --- a/apps/web/src/types/generated/docs/UsersGet200ResponseAllOfData.md +++ /dev/null @@ -1,22 +0,0 @@ -# UsersGet200ResponseAllOfData - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**pagination** | **object** | | [optional] [default to undefined] -**users** | **Array<string>** | | [optional] [default to undefined] - -## Example - -```typescript -import { UsersGet200ResponseAllOfData } from './api'; - -const instance: UsersGet200ResponseAllOfData = { - pagination, - users, -}; -``` - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/apps/web/src/types/generated/docs/UsersIdGet200Response.md b/apps/web/src/types/generated/docs/UsersIdGet200Response.md deleted file mode 100644 index ead77534f..000000000 --- a/apps/web/src/types/generated/docs/UsersIdGet200Response.md +++ /dev/null @@ -1,24 +0,0 @@ -# UsersIdGet200Response - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**data** | [**UsersIdGet200ResponseAllOfData**](UsersIdGet200ResponseAllOfData.md) | | [optional] [default to undefined] -**error** | **object** | | [optional] [default to undefined] -**success** | **boolean** | | [optional] [default to undefined] - -## Example - -```typescript -import { UsersIdGet200Response } from './api'; - -const instance: UsersIdGet200Response = { - data, - error, - success, -}; -``` - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/apps/web/src/types/generated/docs/UsersIdGet200ResponseAllOfData.md b/apps/web/src/types/generated/docs/UsersIdGet200ResponseAllOfData.md deleted file mode 100644 index f378b7ced..000000000 --- a/apps/web/src/types/generated/docs/UsersIdGet200ResponseAllOfData.md +++ /dev/null @@ -1,20 +0,0 @@ -# UsersIdGet200ResponseAllOfData - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**profile** | **object** | | [optional] [default to undefined] - -## Example - -```typescript -import { UsersIdGet200ResponseAllOfData } from './api'; - -const instance: UsersIdGet200ResponseAllOfData = { - profile, -}; -``` - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/apps/web/src/types/generated/docs/UsersIdLikesGet200Response.md b/apps/web/src/types/generated/docs/UsersIdLikesGet200Response.md deleted file mode 100644 index a95c12e29..000000000 --- a/apps/web/src/types/generated/docs/UsersIdLikesGet200Response.md +++ /dev/null @@ -1,24 +0,0 @@ -# UsersIdLikesGet200Response - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**data** | [**UsersIdLikesGet200ResponseAllOfData**](UsersIdLikesGet200ResponseAllOfData.md) | | [optional] [default to undefined] -**error** | **object** | | [optional] [default to undefined] -**success** | **boolean** | | [optional] [default to undefined] - -## Example - -```typescript -import { UsersIdLikesGet200Response } from './api'; - -const instance: UsersIdLikesGet200Response = { - data, - error, - success, -}; -``` - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/apps/web/src/types/generated/docs/UsersIdLikesGet200ResponseAllOfData.md b/apps/web/src/types/generated/docs/UsersIdLikesGet200ResponseAllOfData.md deleted file mode 100644 index aab450dbb..000000000 --- a/apps/web/src/types/generated/docs/UsersIdLikesGet200ResponseAllOfData.md +++ /dev/null @@ -1,26 +0,0 @@ -# UsersIdLikesGet200ResponseAllOfData - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**limit** | **number** | | [optional] [default to undefined] -**offset** | **number** | | [optional] [default to undefined] -**total** | **number** | | [optional] [default to undefined] -**tracks** | [**Array<VezaBackendApiInternalModelsTrack>**](VezaBackendApiInternalModelsTrack.md) | | [optional] [default to undefined] - -## Example - -```typescript -import { UsersIdLikesGet200ResponseAllOfData } from './api'; - -const instance: UsersIdLikesGet200ResponseAllOfData = { - limit, - offset, - total, - tracks, -}; -``` - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/apps/web/src/types/generated/docs/UsersSearchGet200Response.md b/apps/web/src/types/generated/docs/UsersSearchGet200Response.md deleted file mode 100644 index 6110a2c91..000000000 --- a/apps/web/src/types/generated/docs/UsersSearchGet200Response.md +++ /dev/null @@ -1,24 +0,0 @@ -# UsersSearchGet200Response - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**data** | [**UsersSearchGet200ResponseAllOfData**](UsersSearchGet200ResponseAllOfData.md) | | [optional] [default to undefined] -**error** | **object** | | [optional] [default to undefined] -**success** | **boolean** | | [optional] [default to undefined] - -## Example - -```typescript -import { UsersSearchGet200Response } from './api'; - -const instance: UsersSearchGet200Response = { - data, - error, - success, -}; -``` - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/apps/web/src/types/generated/docs/UsersSearchGet200ResponseAllOfData.md b/apps/web/src/types/generated/docs/UsersSearchGet200ResponseAllOfData.md deleted file mode 100644 index 0eeb32cb8..000000000 --- a/apps/web/src/types/generated/docs/UsersSearchGet200ResponseAllOfData.md +++ /dev/null @@ -1,22 +0,0 @@ -# UsersSearchGet200ResponseAllOfData - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**pagination** | **object** | | [optional] [default to undefined] -**users** | [**Array<VezaBackendApiInternalModelsUser>**](VezaBackendApiInternalModelsUser.md) | | [optional] [default to undefined] - -## Example - -```typescript -import { UsersSearchGet200ResponseAllOfData } from './api'; - -const instance: UsersSearchGet200ResponseAllOfData = { - pagination, - users, -}; -``` - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/apps/web/src/types/generated/docs/UsersSuggestionsGet200Response.md b/apps/web/src/types/generated/docs/UsersSuggestionsGet200Response.md deleted file mode 100644 index e05a895a5..000000000 --- a/apps/web/src/types/generated/docs/UsersSuggestionsGet200Response.md +++ /dev/null @@ -1,24 +0,0 @@ -# UsersSuggestionsGet200Response - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**data** | [**UsersSuggestionsGet200ResponseAllOfData**](UsersSuggestionsGet200ResponseAllOfData.md) | | [optional] [default to undefined] -**error** | **object** | | [optional] [default to undefined] -**success** | **boolean** | | [optional] [default to undefined] - -## Example - -```typescript -import { UsersSuggestionsGet200Response } from './api'; - -const instance: UsersSuggestionsGet200Response = { - data, - error, - success, -}; -``` - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/apps/web/src/types/generated/docs/UsersSuggestionsGet200ResponseAllOfData.md b/apps/web/src/types/generated/docs/UsersSuggestionsGet200ResponseAllOfData.md deleted file mode 100644 index de338c7ce..000000000 --- a/apps/web/src/types/generated/docs/UsersSuggestionsGet200ResponseAllOfData.md +++ /dev/null @@ -1,20 +0,0 @@ -# UsersSuggestionsGet200ResponseAllOfData - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**users** | [**Array<VezaBackendApiInternalModelsUser>**](VezaBackendApiInternalModelsUser.md) | | [optional] [default to undefined] - -## Example - -```typescript -import { UsersSuggestionsGet200ResponseAllOfData } from './api'; - -const instance: UsersSuggestionsGet200ResponseAllOfData = { - users, -}; -``` - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/apps/web/src/types/generated/docs/ValidationApi.md b/apps/web/src/types/generated/docs/ValidationApi.md deleted file mode 100644 index 32c7472f9..000000000 --- a/apps/web/src/types/generated/docs/ValidationApi.md +++ /dev/null @@ -1,61 +0,0 @@ -# ValidationApi - -All URIs are relative to *http://localhost:18080/api/v1* - -|Method | HTTP request | Description| -|------------- | ------------- | -------------| -|[**validatePost**](#validatepost) | **POST** /validate | Validate request body| - -# **validatePost** -> InternalHandlersValidateResponse validatePost(request) - -Validates request data against known DTO types without executing the actual operation - -### Example - -```typescript -import { - ValidationApi, - Configuration, - InternalHandlersValidateRequest -} from './api'; - -const configuration = new Configuration(); -const apiInstance = new ValidationApi(configuration); - -let request: InternalHandlersValidateRequest; //Validation request with type and data - -const { status, data } = await apiInstance.validatePost( - request -); -``` - -### Parameters - -|Name | Type | Description | Notes| -|------------- | ------------- | ------------- | -------------| -| **request** | **InternalHandlersValidateRequest**| Validation request with type and data | | - - -### Return type - -**InternalHandlersValidateResponse** - -### Authorization - -No authorization required - -### HTTP request headers - - - **Content-Type**: application/json - - **Accept**: application/json - - -### HTTP response details -| Status code | Description | Response headers | -|-------------|-------------|------------------| -|**200** | Validation result | - | -|**400** | Invalid request format | - | - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - diff --git a/apps/web/src/types/generated/docs/VezaBackendApiInternalCoreMarketplaceLicenseType.md b/apps/web/src/types/generated/docs/VezaBackendApiInternalCoreMarketplaceLicenseType.md deleted file mode 100644 index bb435fae7..000000000 --- a/apps/web/src/types/generated/docs/VezaBackendApiInternalCoreMarketplaceLicenseType.md +++ /dev/null @@ -1,12 +0,0 @@ -# VezaBackendApiInternalCoreMarketplaceLicenseType - - -## Enum - -* `LicenseBasic` (value: `'basic'`) - -* `LicensePremium` (value: `'premium'`) - -* `LicenseExclusive` (value: `'exclusive'`) - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/apps/web/src/types/generated/docs/VezaBackendApiInternalCoreMarketplaceOrder.md b/apps/web/src/types/generated/docs/VezaBackendApiInternalCoreMarketplaceOrder.md deleted file mode 100644 index 8e8eb06e2..000000000 --- a/apps/web/src/types/generated/docs/VezaBackendApiInternalCoreMarketplaceOrder.md +++ /dev/null @@ -1,46 +0,0 @@ -# VezaBackendApiInternalCoreMarketplaceOrder - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**buyer_id** | **string** | | [optional] [default to undefined] -**created_at** | **string** | | [optional] [default to undefined] -**currency** | **string** | | [optional] [default to undefined] -**discount_amount_cents** | **number** | | [optional] [default to undefined] -**hyperswitch_payment_id** | **string** | | [optional] [default to undefined] -**id** | **string** | | [optional] [default to undefined] -**items** | [**Array<VezaBackendApiInternalCoreMarketplaceOrderItem>**](VezaBackendApiInternalCoreMarketplaceOrderItem.md) | | [optional] [default to undefined] -**payment_intent** | **string** | Legacy / Stripe PaymentIntent ID | [optional] [default to undefined] -**payment_status** | **string** | Hyperswitch payment status | [optional] [default to undefined] -**promo_code_id** | **string** | | [optional] [default to undefined] -**refund_deadline** | **string** | v0.12.0: 14-day refund deadline | [optional] [default to undefined] -**status** | **string** | pending, completed, failed, refunded | [optional] [default to undefined] -**total_amount** | **number** | | [optional] [default to undefined] -**updated_at** | **string** | | [optional] [default to undefined] - -## Example - -```typescript -import { VezaBackendApiInternalCoreMarketplaceOrder } from './api'; - -const instance: VezaBackendApiInternalCoreMarketplaceOrder = { - buyer_id, - created_at, - currency, - discount_amount_cents, - hyperswitch_payment_id, - id, - items, - payment_intent, - payment_status, - promo_code_id, - refund_deadline, - status, - total_amount, - updated_at, -}; -``` - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/apps/web/src/types/generated/docs/VezaBackendApiInternalCoreMarketplaceOrderItem.md b/apps/web/src/types/generated/docs/VezaBackendApiInternalCoreMarketplaceOrderItem.md deleted file mode 100644 index 2327be39e..000000000 --- a/apps/web/src/types/generated/docs/VezaBackendApiInternalCoreMarketplaceOrderItem.md +++ /dev/null @@ -1,26 +0,0 @@ -# VezaBackendApiInternalCoreMarketplaceOrderItem - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**id** | **string** | | [optional] [default to undefined] -**order_id** | **string** | | [optional] [default to undefined] -**price** | **number** | | [optional] [default to undefined] -**product_id** | **string** | | [optional] [default to undefined] - -## Example - -```typescript -import { VezaBackendApiInternalCoreMarketplaceOrderItem } from './api'; - -const instance: VezaBackendApiInternalCoreMarketplaceOrderItem = { - id, - order_id, - price, - product_id, -}; -``` - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/apps/web/src/types/generated/docs/VezaBackendApiInternalCoreMarketplaceProduct.md b/apps/web/src/types/generated/docs/VezaBackendApiInternalCoreMarketplaceProduct.md deleted file mode 100644 index 598ac4262..000000000 --- a/apps/web/src/types/generated/docs/VezaBackendApiInternalCoreMarketplaceProduct.md +++ /dev/null @@ -1,58 +0,0 @@ -# VezaBackendApiInternalCoreMarketplaceProduct - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**avg_rating** | **number** | v0.403 R1: Computed from product_reviews (not stored in DB) | [optional] [default to undefined] -**bpm** | **number** | v0.401 M1: Métadonnées musicales et catégorie | [optional] [default to undefined] -**category** | **string** | sample, beat, preset, pack | [optional] [default to undefined] -**created_at** | **string** | | [optional] [default to undefined] -**currency** | **string** | | [optional] [default to undefined] -**description** | **string** | | [optional] [default to undefined] -**id** | **string** | | [optional] [default to undefined] -**images** | [**Array<VezaBackendApiInternalCoreMarketplaceProductImage>**](VezaBackendApiInternalCoreMarketplaceProductImage.md) | | [optional] [default to undefined] -**license_type** | [**VezaBackendApiInternalCoreMarketplaceLicenseType**](VezaBackendApiInternalCoreMarketplaceLicenseType.md) | | [optional] [default to undefined] -**licenses** | [**Array<VezaBackendApiInternalCoreMarketplaceProductLicense>**](VezaBackendApiInternalCoreMarketplaceProductLicense.md) | | [optional] [default to undefined] -**musical_key** | **string** | | [optional] [default to undefined] -**previews** | [**Array<VezaBackendApiInternalCoreMarketplaceProductPreview>**](VezaBackendApiInternalCoreMarketplaceProductPreview.md) | Relations | [optional] [default to undefined] -**price** | **number** | | [optional] [default to undefined] -**product_type** | **string** | \"track\", \"pack\", \"service\" | [optional] [default to undefined] -**review_count** | **number** | | [optional] [default to undefined] -**seller_id** | **string** | | [optional] [default to undefined] -**status** | [**VezaBackendApiInternalCoreMarketplaceProductStatus**](VezaBackendApiInternalCoreMarketplaceProductStatus.md) | | [optional] [default to undefined] -**title** | **string** | | [optional] [default to undefined] -**track_id** | **string** | Liaison optionnelle avec un Track (si ProductType == \"track\") | [optional] [default to undefined] -**updated_at** | **string** | | [optional] [default to undefined] - -## Example - -```typescript -import { VezaBackendApiInternalCoreMarketplaceProduct } from './api'; - -const instance: VezaBackendApiInternalCoreMarketplaceProduct = { - avg_rating, - bpm, - category, - created_at, - currency, - description, - id, - images, - license_type, - licenses, - musical_key, - previews, - price, - product_type, - review_count, - seller_id, - status, - title, - track_id, - updated_at, -}; -``` - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/apps/web/src/types/generated/docs/VezaBackendApiInternalCoreMarketplaceProductImage.md b/apps/web/src/types/generated/docs/VezaBackendApiInternalCoreMarketplaceProductImage.md deleted file mode 100644 index d354c6286..000000000 --- a/apps/web/src/types/generated/docs/VezaBackendApiInternalCoreMarketplaceProductImage.md +++ /dev/null @@ -1,28 +0,0 @@ -# VezaBackendApiInternalCoreMarketplaceProductImage - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**created_at** | **string** | | [optional] [default to undefined] -**id** | **string** | | [optional] [default to undefined] -**product_id** | **string** | | [optional] [default to undefined] -**sort_order** | **number** | | [optional] [default to undefined] -**url** | **string** | | [optional] [default to undefined] - -## Example - -```typescript -import { VezaBackendApiInternalCoreMarketplaceProductImage } from './api'; - -const instance: VezaBackendApiInternalCoreMarketplaceProductImage = { - created_at, - id, - product_id, - sort_order, - url, -}; -``` - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/apps/web/src/types/generated/docs/VezaBackendApiInternalCoreMarketplaceProductLicense.md b/apps/web/src/types/generated/docs/VezaBackendApiInternalCoreMarketplaceProductLicense.md deleted file mode 100644 index 515888406..000000000 --- a/apps/web/src/types/generated/docs/VezaBackendApiInternalCoreMarketplaceProductLicense.md +++ /dev/null @@ -1,30 +0,0 @@ -# VezaBackendApiInternalCoreMarketplaceProductLicense - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**created_at** | **string** | | [optional] [default to undefined] -**id** | **string** | | [optional] [default to undefined] -**license_type** | **string** | streaming, personal, commercial, exclusive | [optional] [default to undefined] -**price_cents** | **number** | | [optional] [default to undefined] -**product_id** | **string** | | [optional] [default to undefined] -**terms_text** | **string** | | [optional] [default to undefined] - -## Example - -```typescript -import { VezaBackendApiInternalCoreMarketplaceProductLicense } from './api'; - -const instance: VezaBackendApiInternalCoreMarketplaceProductLicense = { - created_at, - id, - license_type, - price_cents, - product_id, - terms_text, -}; -``` - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/apps/web/src/types/generated/docs/VezaBackendApiInternalCoreMarketplaceProductPreview.md b/apps/web/src/types/generated/docs/VezaBackendApiInternalCoreMarketplaceProductPreview.md deleted file mode 100644 index 020092597..000000000 --- a/apps/web/src/types/generated/docs/VezaBackendApiInternalCoreMarketplaceProductPreview.md +++ /dev/null @@ -1,28 +0,0 @@ -# VezaBackendApiInternalCoreMarketplaceProductPreview - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**created_at** | **string** | | [optional] [default to undefined] -**duration_sec** | **number** | | [optional] [default to undefined] -**file_path** | **string** | | [optional] [default to undefined] -**id** | **string** | | [optional] [default to undefined] -**product_id** | **string** | | [optional] [default to undefined] - -## Example - -```typescript -import { VezaBackendApiInternalCoreMarketplaceProductPreview } from './api'; - -const instance: VezaBackendApiInternalCoreMarketplaceProductPreview = { - created_at, - duration_sec, - file_path, - id, - product_id, -}; -``` - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/apps/web/src/types/generated/docs/VezaBackendApiInternalCoreMarketplaceProductStatus.md b/apps/web/src/types/generated/docs/VezaBackendApiInternalCoreMarketplaceProductStatus.md deleted file mode 100644 index 41ea261c5..000000000 --- a/apps/web/src/types/generated/docs/VezaBackendApiInternalCoreMarketplaceProductStatus.md +++ /dev/null @@ -1,12 +0,0 @@ -# VezaBackendApiInternalCoreMarketplaceProductStatus - - -## Enum - -* `ProductStatusDraft` (value: `'draft'`) - -* `ProductStatusActive` (value: `'active'`) - -* `ProductStatusArchived` (value: `'archived'`) - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/apps/web/src/types/generated/docs/VezaBackendApiInternalDtoLoginRequest.md b/apps/web/src/types/generated/docs/VezaBackendApiInternalDtoLoginRequest.md deleted file mode 100644 index d36effcf2..000000000 --- a/apps/web/src/types/generated/docs/VezaBackendApiInternalDtoLoginRequest.md +++ /dev/null @@ -1,24 +0,0 @@ -# VezaBackendApiInternalDtoLoginRequest - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**email** | **string** | | [default to undefined] -**password** | **string** | | [default to undefined] -**remember_me** | **boolean** | | [optional] [default to undefined] - -## Example - -```typescript -import { VezaBackendApiInternalDtoLoginRequest } from './api'; - -const instance: VezaBackendApiInternalDtoLoginRequest = { - email, - password, - remember_me, -}; -``` - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/apps/web/src/types/generated/docs/VezaBackendApiInternalDtoLoginResponse.md b/apps/web/src/types/generated/docs/VezaBackendApiInternalDtoLoginResponse.md deleted file mode 100644 index 6f9b2aa31..000000000 --- a/apps/web/src/types/generated/docs/VezaBackendApiInternalDtoLoginResponse.md +++ /dev/null @@ -1,24 +0,0 @@ -# VezaBackendApiInternalDtoLoginResponse - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**requires_2fa** | **boolean** | BE-API-001: Flag indicating 2FA is required | [optional] [default to undefined] -**token** | [**VezaBackendApiInternalDtoTokenResponse**](VezaBackendApiInternalDtoTokenResponse.md) | | [optional] [default to undefined] -**user** | [**VezaBackendApiInternalDtoUserResponse**](VezaBackendApiInternalDtoUserResponse.md) | | [optional] [default to undefined] - -## Example - -```typescript -import { VezaBackendApiInternalDtoLoginResponse } from './api'; - -const instance: VezaBackendApiInternalDtoLoginResponse = { - requires_2fa, - token, - user, -}; -``` - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/apps/web/src/types/generated/docs/VezaBackendApiInternalDtoRefreshRequest.md b/apps/web/src/types/generated/docs/VezaBackendApiInternalDtoRefreshRequest.md deleted file mode 100644 index 0bed17d3c..000000000 --- a/apps/web/src/types/generated/docs/VezaBackendApiInternalDtoRefreshRequest.md +++ /dev/null @@ -1,20 +0,0 @@ -# VezaBackendApiInternalDtoRefreshRequest - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**refresh_token** | **string** | | [default to undefined] - -## Example - -```typescript -import { VezaBackendApiInternalDtoRefreshRequest } from './api'; - -const instance: VezaBackendApiInternalDtoRefreshRequest = { - refresh_token, -}; -``` - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/apps/web/src/types/generated/docs/VezaBackendApiInternalDtoRegisterRequest.md b/apps/web/src/types/generated/docs/VezaBackendApiInternalDtoRegisterRequest.md deleted file mode 100644 index 5399ad41e..000000000 --- a/apps/web/src/types/generated/docs/VezaBackendApiInternalDtoRegisterRequest.md +++ /dev/null @@ -1,26 +0,0 @@ -# VezaBackendApiInternalDtoRegisterRequest - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**email** | **string** | | [default to undefined] -**password** | **string** | | [default to undefined] -**password_confirmation** | **string** | | [default to undefined] -**username** | **string** | | [optional] [default to undefined] - -## Example - -```typescript -import { VezaBackendApiInternalDtoRegisterRequest } from './api'; - -const instance: VezaBackendApiInternalDtoRegisterRequest = { - email, - password, - password_confirmation, - username, -}; -``` - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/apps/web/src/types/generated/docs/VezaBackendApiInternalDtoRegisterResponse.md b/apps/web/src/types/generated/docs/VezaBackendApiInternalDtoRegisterResponse.md deleted file mode 100644 index a463314d9..000000000 --- a/apps/web/src/types/generated/docs/VezaBackendApiInternalDtoRegisterResponse.md +++ /dev/null @@ -1,22 +0,0 @@ -# VezaBackendApiInternalDtoRegisterResponse - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**token** | [**VezaBackendApiInternalDtoTokenResponse**](VezaBackendApiInternalDtoTokenResponse.md) | | [optional] [default to undefined] -**user** | [**VezaBackendApiInternalDtoUserResponse**](VezaBackendApiInternalDtoUserResponse.md) | | [optional] [default to undefined] - -## Example - -```typescript -import { VezaBackendApiInternalDtoRegisterResponse } from './api'; - -const instance: VezaBackendApiInternalDtoRegisterResponse = { - token, - user, -}; -``` - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/apps/web/src/types/generated/docs/VezaBackendApiInternalDtoResendVerificationRequest.md b/apps/web/src/types/generated/docs/VezaBackendApiInternalDtoResendVerificationRequest.md deleted file mode 100644 index 20d57ecfd..000000000 --- a/apps/web/src/types/generated/docs/VezaBackendApiInternalDtoResendVerificationRequest.md +++ /dev/null @@ -1,20 +0,0 @@ -# VezaBackendApiInternalDtoResendVerificationRequest - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**email** | **string** | | [default to undefined] - -## Example - -```typescript -import { VezaBackendApiInternalDtoResendVerificationRequest } from './api'; - -const instance: VezaBackendApiInternalDtoResendVerificationRequest = { - email, -}; -``` - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/apps/web/src/types/generated/docs/VezaBackendApiInternalDtoTokenResponse.md b/apps/web/src/types/generated/docs/VezaBackendApiInternalDtoTokenResponse.md deleted file mode 100644 index 2a09cbd17..000000000 --- a/apps/web/src/types/generated/docs/VezaBackendApiInternalDtoTokenResponse.md +++ /dev/null @@ -1,24 +0,0 @@ -# VezaBackendApiInternalDtoTokenResponse - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**access_token** | **string** | | [optional] [default to undefined] -**expires_in** | **number** | | [optional] [default to undefined] -**refresh_token** | **string** | | [optional] [default to undefined] - -## Example - -```typescript -import { VezaBackendApiInternalDtoTokenResponse } from './api'; - -const instance: VezaBackendApiInternalDtoTokenResponse = { - access_token, - expires_in, - refresh_token, -}; -``` - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/apps/web/src/types/generated/docs/VezaBackendApiInternalDtoUserResponse.md b/apps/web/src/types/generated/docs/VezaBackendApiInternalDtoUserResponse.md deleted file mode 100644 index 136a0cbb8..000000000 --- a/apps/web/src/types/generated/docs/VezaBackendApiInternalDtoUserResponse.md +++ /dev/null @@ -1,24 +0,0 @@ -# VezaBackendApiInternalDtoUserResponse - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**email** | **string** | | [optional] [default to undefined] -**id** | **string** | | [optional] [default to undefined] -**username** | **string** | | [optional] [default to undefined] - -## Example - -```typescript -import { VezaBackendApiInternalDtoUserResponse } from './api'; - -const instance: VezaBackendApiInternalDtoUserResponse = { - email, - id, - username, -}; -``` - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/apps/web/src/types/generated/docs/VezaBackendApiInternalDtoValidationError.md b/apps/web/src/types/generated/docs/VezaBackendApiInternalDtoValidationError.md deleted file mode 100644 index e2bad483f..000000000 --- a/apps/web/src/types/generated/docs/VezaBackendApiInternalDtoValidationError.md +++ /dev/null @@ -1,24 +0,0 @@ -# VezaBackendApiInternalDtoValidationError - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**field** | **string** | | [optional] [default to undefined] -**message** | **string** | | [optional] [default to undefined] -**value** | **string** | | [optional] [default to undefined] - -## Example - -```typescript -import { VezaBackendApiInternalDtoValidationError } from './api'; - -const instance: VezaBackendApiInternalDtoValidationError = { - field, - message, - value, -}; -``` - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/apps/web/src/types/generated/docs/VezaBackendApiInternalHandlersAPIResponse.md b/apps/web/src/types/generated/docs/VezaBackendApiInternalHandlersAPIResponse.md deleted file mode 100644 index ca91934af..000000000 --- a/apps/web/src/types/generated/docs/VezaBackendApiInternalHandlersAPIResponse.md +++ /dev/null @@ -1,24 +0,0 @@ -# VezaBackendApiInternalHandlersAPIResponse - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**data** | **object** | | [optional] [default to undefined] -**error** | **object** | | [optional] [default to undefined] -**success** | **boolean** | | [optional] [default to undefined] - -## Example - -```typescript -import { VezaBackendApiInternalHandlersAPIResponse } from './api'; - -const instance: VezaBackendApiInternalHandlersAPIResponse = { - data, - error, - success, -}; -``` - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/apps/web/src/types/generated/docs/VezaBackendApiInternalModelsPlaylist.md b/apps/web/src/types/generated/docs/VezaBackendApiInternalModelsPlaylist.md deleted file mode 100644 index 66cc8daec..000000000 --- a/apps/web/src/types/generated/docs/VezaBackendApiInternalModelsPlaylist.md +++ /dev/null @@ -1,46 +0,0 @@ -# VezaBackendApiInternalModelsPlaylist - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**collaborators** | [**Array<VezaBackendApiInternalModelsPlaylistCollaborator>**](VezaBackendApiInternalModelsPlaylistCollaborator.md) | | [optional] [default to undefined] -**cover_url** | **string** | | [optional] [default to undefined] -**created_at** | **string** | | [optional] [default to undefined] -**description** | **string** | | [optional] [default to undefined] -**follower_count** | **number** | | [optional] [default to undefined] -**id** | **string** | | [optional] [default to undefined] -**is_default_favorites** | **boolean** | v0.10.4 F136 | [optional] [default to undefined] -**is_editorial** | **boolean** | v0.10.4 F141 | [optional] [default to undefined] -**is_public** | **boolean** | | [optional] [default to undefined] -**title** | **string** | | [optional] [default to undefined] -**track_count** | **number** | | [optional] [default to undefined] -**tracks** | [**Array<VezaBackendApiInternalModelsPlaylistTrack>**](VezaBackendApiInternalModelsPlaylistTrack.md) | | [optional] [default to undefined] -**updated_at** | **string** | | [optional] [default to undefined] -**user_id** | **string** | | [optional] [default to undefined] - -## Example - -```typescript -import { VezaBackendApiInternalModelsPlaylist } from './api'; - -const instance: VezaBackendApiInternalModelsPlaylist = { - collaborators, - cover_url, - created_at, - description, - follower_count, - id, - is_default_favorites, - is_editorial, - is_public, - title, - track_count, - tracks, - updated_at, - user_id, -}; -``` - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/apps/web/src/types/generated/docs/VezaBackendApiInternalModelsPlaylistCollaborator.md b/apps/web/src/types/generated/docs/VezaBackendApiInternalModelsPlaylistCollaborator.md deleted file mode 100644 index e6e207ed7..000000000 --- a/apps/web/src/types/generated/docs/VezaBackendApiInternalModelsPlaylistCollaborator.md +++ /dev/null @@ -1,32 +0,0 @@ -# VezaBackendApiInternalModelsPlaylistCollaborator - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**created_at** | **string** | | [optional] [default to undefined] -**id** | **string** | | [optional] [default to undefined] -**permission** | [**VezaBackendApiInternalModelsPlaylistPermission**](VezaBackendApiInternalModelsPlaylistPermission.md) | | [optional] [default to undefined] -**playlist_id** | **string** | | [optional] [default to undefined] -**updated_at** | **string** | | [optional] [default to undefined] -**user** | [**VezaBackendApiInternalModelsUser**](VezaBackendApiInternalModelsUser.md) | | [optional] [default to undefined] -**user_id** | **string** | | [optional] [default to undefined] - -## Example - -```typescript -import { VezaBackendApiInternalModelsPlaylistCollaborator } from './api'; - -const instance: VezaBackendApiInternalModelsPlaylistCollaborator = { - created_at, - id, - permission, - playlist_id, - updated_at, - user, - user_id, -}; -``` - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/apps/web/src/types/generated/docs/VezaBackendApiInternalModelsPlaylistPermission.md b/apps/web/src/types/generated/docs/VezaBackendApiInternalModelsPlaylistPermission.md deleted file mode 100644 index 6b4692654..000000000 --- a/apps/web/src/types/generated/docs/VezaBackendApiInternalModelsPlaylistPermission.md +++ /dev/null @@ -1,12 +0,0 @@ -# VezaBackendApiInternalModelsPlaylistPermission - - -## Enum - -* `PlaylistPermissionRead` (value: `'read'`) - -* `PlaylistPermissionWrite` (value: `'write'`) - -* `PlaylistPermissionAdmin` (value: `'admin'`) - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/apps/web/src/types/generated/docs/VezaBackendApiInternalModelsPlaylistTrack.md b/apps/web/src/types/generated/docs/VezaBackendApiInternalModelsPlaylistTrack.md deleted file mode 100644 index 514115cd4..000000000 --- a/apps/web/src/types/generated/docs/VezaBackendApiInternalModelsPlaylistTrack.md +++ /dev/null @@ -1,32 +0,0 @@ -# VezaBackendApiInternalModelsPlaylistTrack - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**added_at** | **string** | | [optional] [default to undefined] -**added_by** | **string** | | [optional] [default to undefined] -**id** | **string** | | [optional] [default to undefined] -**playlist_id** | **string** | | [optional] [default to undefined] -**position** | **number** | | [optional] [default to undefined] -**track** | [**VezaBackendApiInternalModelsTrack**](VezaBackendApiInternalModelsTrack.md) | | [optional] [default to undefined] -**track_id** | **string** | | [optional] [default to undefined] - -## Example - -```typescript -import { VezaBackendApiInternalModelsPlaylistTrack } from './api'; - -const instance: VezaBackendApiInternalModelsPlaylistTrack = { - added_at, - added_by, - id, - playlist_id, - position, - track, - track_id, -}; -``` - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/apps/web/src/types/generated/docs/VezaBackendApiInternalModelsTrack.md b/apps/web/src/types/generated/docs/VezaBackendApiInternalModelsTrack.md deleted file mode 100644 index 9ab57f296..000000000 --- a/apps/web/src/types/generated/docs/VezaBackendApiInternalModelsTrack.md +++ /dev/null @@ -1,72 +0,0 @@ -# VezaBackendApiInternalModelsTrack - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**album** | **string** | | [optional] [default to undefined] -**artist** | **string** | | [optional] [default to undefined] -**bitrate** | **number** | kbps | [optional] [default to undefined] -**bpm** | **number** | | [optional] [default to undefined] -**cover_art_path** | **string** | | [optional] [default to undefined] -**created_at** | **string** | | [optional] [default to undefined] -**creator_id** | **string** | | [optional] [default to undefined] -**duration** | **number** | seconds | [optional] [default to undefined] -**file_id** | **string** | NULL temporairement avant création fichier | [optional] [default to undefined] -**file_path** | **string** | | [optional] [default to undefined] -**file_size** | **number** | bytes | [optional] [default to undefined] -**format** | **string** | mp3, flac, wav, etc. | [optional] [default to undefined] -**genre** | **string** | | [optional] [default to undefined] -**id** | **string** | | [optional] [default to undefined] -**is_public** | **boolean** | | [optional] [default to undefined] -**musical_key** | **string** | | [optional] [default to undefined] -**sample_rate** | **number** | Hz | [optional] [default to undefined] -**status** | [**VezaBackendApiInternalModelsTrackStatus**](VezaBackendApiInternalModelsTrackStatus.md) | | [optional] [default to undefined] -**status_message** | **string** | | [optional] [default to undefined] -**stream_manifest_url** | **string** | | [optional] [default to undefined] -**stream_status** | **string** | pending, processing, ready, error | [optional] [default to undefined] -**tags** | **Array<string>** | | [optional] [default to undefined] -**title** | **string** | | [optional] [default to undefined] -**updated_at** | **string** | | [optional] [default to undefined] -**waveform_path** | **string** | | [optional] [default to undefined] -**waveform_url** | **string** | | [optional] [default to undefined] -**year** | **number** | | [optional] [default to undefined] - -## Example - -```typescript -import { VezaBackendApiInternalModelsTrack } from './api'; - -const instance: VezaBackendApiInternalModelsTrack = { - album, - artist, - bitrate, - bpm, - cover_art_path, - created_at, - creator_id, - duration, - file_id, - file_path, - file_size, - format, - genre, - id, - is_public, - musical_key, - sample_rate, - status, - status_message, - stream_manifest_url, - stream_status, - tags, - title, - updated_at, - waveform_path, - waveform_url, - year, -}; -``` - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/apps/web/src/types/generated/docs/VezaBackendApiInternalModelsTrackStatus.md b/apps/web/src/types/generated/docs/VezaBackendApiInternalModelsTrackStatus.md deleted file mode 100644 index 6b4492a95..000000000 --- a/apps/web/src/types/generated/docs/VezaBackendApiInternalModelsTrackStatus.md +++ /dev/null @@ -1,14 +0,0 @@ -# VezaBackendApiInternalModelsTrackStatus - - -## Enum - -* `TrackStatusUploading` (value: `'uploading'`) - -* `TrackStatusProcessing` (value: `'processing'`) - -* `TrackStatusCompleted` (value: `'completed'`) - -* `TrackStatusFailed` (value: `'failed'`) - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/apps/web/src/types/generated/docs/VezaBackendApiInternalModelsUser.md b/apps/web/src/types/generated/docs/VezaBackendApiInternalModelsUser.md deleted file mode 100644 index 2b815f250..000000000 --- a/apps/web/src/types/generated/docs/VezaBackendApiInternalModelsUser.md +++ /dev/null @@ -1,74 +0,0 @@ -# VezaBackendApiInternalModelsUser - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**avatar** | **string** | | [optional] [default to undefined] -**banner_url** | **string** | | [optional] [default to undefined] -**bio** | **string** | | [optional] [default to undefined] -**birthdate** | **string** | | [optional] [default to undefined] -**created_at** | **string** | | [optional] [default to undefined] -**email** | **string** | | [optional] [default to undefined] -**first_name** | **string** | | [optional] [default to undefined] -**gender** | **string** | | [optional] [default to undefined] -**id** | **string** | | [optional] [default to undefined] -**is_active** | **boolean** | | [optional] [default to undefined] -**is_admin** | **boolean** | | [optional] [default to undefined] -**is_banned** | **boolean** | | [optional] [default to undefined] -**is_public** | **boolean** | | [optional] [default to undefined] -**is_verified** | **boolean** | | [optional] [default to undefined] -**last_login_at** | **string** | | [optional] [default to undefined] -**last_name** | **string** | | [optional] [default to undefined] -**location** | **string** | | [optional] [default to undefined] -**login_count** | **number** | | [optional] [default to undefined] -**password** | **string** | Virtual field for input | [optional] [default to undefined] -**password_changed_at** | **string** | F016: Password expiration tracking | [optional] [default to undefined] -**promoted_to_creator_at** | **string** | v1.0.6: set the first time a user self-promotes to `role=\'creator\'` via POST /api/v1/users/me/upgrade-creator. NULL for users who never took that path (still \'user\', or promoted by an admin out-of-band). | [optional] [default to undefined] -**role** | **string** | | [optional] [default to undefined] -**slug** | **string** | | [optional] [default to undefined] -**social_links** | **string** | | [optional] [default to undefined] -**token_version** | **number** | | [optional] [default to undefined] -**updated_at** | **string** | | [optional] [default to undefined] -**username** | **string** | | [optional] [default to undefined] -**username_changed_at** | **string** | | [optional] [default to undefined] - -## Example - -```typescript -import { VezaBackendApiInternalModelsUser } from './api'; - -const instance: VezaBackendApiInternalModelsUser = { - avatar, - banner_url, - bio, - birthdate, - created_at, - email, - first_name, - gender, - id, - is_active, - is_admin, - is_banned, - is_public, - is_verified, - last_login_at, - last_name, - location, - login_count, - password, - password_changed_at, - promoted_to_creator_at, - role, - slug, - social_links, - token_version, - updated_at, - username, - username_changed_at, -}; -``` - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/apps/web/src/types/generated/docs/VezaBackendApiInternalResponseAPIResponse.md b/apps/web/src/types/generated/docs/VezaBackendApiInternalResponseAPIResponse.md deleted file mode 100644 index b484660a1..000000000 --- a/apps/web/src/types/generated/docs/VezaBackendApiInternalResponseAPIResponse.md +++ /dev/null @@ -1,24 +0,0 @@ -# VezaBackendApiInternalResponseAPIResponse - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**data** | **object** | | [optional] [default to undefined] -**error** | **object** | | [optional] [default to undefined] -**success** | **boolean** | | [optional] [default to undefined] - -## Example - -```typescript -import { VezaBackendApiInternalResponseAPIResponse } from './api'; - -const instance: VezaBackendApiInternalResponseAPIResponse = { - data, - error, - success, -}; -``` - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/apps/web/src/types/generated/docs/WebhookApi.md b/apps/web/src/types/generated/docs/WebhookApi.md deleted file mode 100644 index 0e4171f89..000000000 --- a/apps/web/src/types/generated/docs/WebhookApi.md +++ /dev/null @@ -1,322 +0,0 @@ -# WebhookApi - -All URIs are relative to *http://localhost:18080/api/v1* - -|Method | HTTP request | Description| -|------------- | ------------- | -------------| -|[**webhooksGet**](#webhooksget) | **GET** /webhooks | List webhooks| -|[**webhooksIdDelete**](#webhooksiddelete) | **DELETE** /webhooks/{id} | Delete webhook| -|[**webhooksIdRegenerateKeyPost**](#webhooksidregeneratekeypost) | **POST** /webhooks/{id}/regenerate-key | Regenerate webhook API key| -|[**webhooksIdTestPost**](#webhooksidtestpost) | **POST** /webhooks/{id}/test | Test webhook| -|[**webhooksPost**](#webhookspost) | **POST** /webhooks | Register webhook| -|[**webhooksStatsGet**](#webhooksstatsget) | **GET** /webhooks/stats | Get webhook statistics| - -# **webhooksGet** -> WebhooksGet200Response webhooksGet() - -Get a list of all webhooks registered by the current user - -### Example - -```typescript -import { - WebhookApi, - Configuration -} from './api'; - -const configuration = new Configuration(); -const apiInstance = new WebhookApi(configuration); - -const { status, data } = await apiInstance.webhooksGet(); -``` - -### Parameters -This endpoint does not have any parameters. - - -### Return type - -**WebhooksGet200Response** - -### Authorization - -[BearerAuth](../README.md#BearerAuth) - -### HTTP request headers - - - **Content-Type**: Not defined - - **Accept**: application/json - - -### HTTP response details -| Status code | Description | Response headers | -|-------------|-------------|------------------| -|**200** | OK | - | -|**401** | Unauthorized | - | -|**500** | Internal server error | - | - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **webhooksIdDelete** -> Auth2faDisablePost200Response webhooksIdDelete() - -Delete a webhook by ID - -### Example - -```typescript -import { - WebhookApi, - Configuration -} from './api'; - -const configuration = new Configuration(); -const apiInstance = new WebhookApi(configuration); - -let id: string; //Webhook ID (default to undefined) - -const { status, data } = await apiInstance.webhooksIdDelete( - id -); -``` - -### Parameters - -|Name | Type | Description | Notes| -|------------- | ------------- | ------------- | -------------| -| **id** | [**string**] | Webhook ID | defaults to undefined| - - -### Return type - -**Auth2faDisablePost200Response** - -### Authorization - -[BearerAuth](../README.md#BearerAuth) - -### HTTP request headers - - - **Content-Type**: Not defined - - **Accept**: application/json - - -### HTTP response details -| Status code | Description | Response headers | -|-------------|-------------|------------------| -|**200** | OK | - | -|**400** | Invalid webhook ID | - | -|**401** | Unauthorized | - | -|**404** | Webhook not found | - | - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **webhooksIdRegenerateKeyPost** -> WebhooksIdRegenerateKeyPost200Response webhooksIdRegenerateKeyPost() - -Generate a new API key for a webhook (invalidates the old one) - -### Example - -```typescript -import { - WebhookApi, - Configuration -} from './api'; - -const configuration = new Configuration(); -const apiInstance = new WebhookApi(configuration); - -let id: string; //Webhook ID (default to undefined) - -const { status, data } = await apiInstance.webhooksIdRegenerateKeyPost( - id -); -``` - -### Parameters - -|Name | Type | Description | Notes| -|------------- | ------------- | ------------- | -------------| -| **id** | [**string**] | Webhook ID | defaults to undefined| - - -### Return type - -**WebhooksIdRegenerateKeyPost200Response** - -### Authorization - -[BearerAuth](../README.md#BearerAuth) - -### HTTP request headers - - - **Content-Type**: Not defined - - **Accept**: application/json - - -### HTTP response details -| Status code | Description | Response headers | -|-------------|-------------|------------------| -|**200** | OK | - | -|**400** | Invalid webhook ID | - | -|**401** | Unauthorized | - | -|**404** | Webhook not found | - | -|**500** | Internal server error | - | - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **webhooksIdTestPost** -> Auth2faDisablePost200Response webhooksIdTestPost() - -Send a test event to a webhook to verify it\'s working - -### Example - -```typescript -import { - WebhookApi, - Configuration -} from './api'; - -const configuration = new Configuration(); -const apiInstance = new WebhookApi(configuration); - -let id: string; //Webhook ID (default to undefined) - -const { status, data } = await apiInstance.webhooksIdTestPost( - id -); -``` - -### Parameters - -|Name | Type | Description | Notes| -|------------- | ------------- | ------------- | -------------| -| **id** | [**string**] | Webhook ID | defaults to undefined| - - -### Return type - -**Auth2faDisablePost200Response** - -### Authorization - -[BearerAuth](../README.md#BearerAuth) - -### HTTP request headers - - - **Content-Type**: Not defined - - **Accept**: application/json - - -### HTTP response details -| Status code | Description | Response headers | -|-------------|-------------|------------------| -|**200** | OK | - | -|**400** | Invalid webhook ID | - | -|**401** | Unauthorized | - | -|**404** | Webhook not found | - | - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **webhooksPost** -> WebhooksPost201Response webhooksPost(webhook) - -Register a new webhook for receiving events - -### Example - -```typescript -import { - WebhookApi, - Configuration -} from './api'; - -const configuration = new Configuration(); -const apiInstance = new WebhookApi(configuration); - -let webhook: object; //Webhook registration data - -const { status, data } = await apiInstance.webhooksPost( - webhook -); -``` - -### Parameters - -|Name | Type | Description | Notes| -|------------- | ------------- | ------------- | -------------| -| **webhook** | **object**| Webhook registration data | | - - -### Return type - -**WebhooksPost201Response** - -### Authorization - -[BearerAuth](../README.md#BearerAuth) - -### HTTP request headers - - - **Content-Type**: application/json - - **Accept**: application/json - - -### HTTP response details -| Status code | Description | Response headers | -|-------------|-------------|------------------| -|**201** | Created | - | -|**400** | Validation error | - | -|**401** | Unauthorized | - | -|**500** | Internal server error | - | - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - -# **webhooksStatsGet** -> AuditStatsGet200Response webhooksStatsGet() - -Get statistics for webhook delivery and performance - -### Example - -```typescript -import { - WebhookApi, - Configuration -} from './api'; - -const configuration = new Configuration(); -const apiInstance = new WebhookApi(configuration); - -const { status, data } = await apiInstance.webhooksStatsGet(); -``` - -### Parameters -This endpoint does not have any parameters. - - -### Return type - -**AuditStatsGet200Response** - -### Authorization - -[BearerAuth](../README.md#BearerAuth) - -### HTTP request headers - - - **Content-Type**: Not defined - - **Accept**: application/json - - -### HTTP response details -| Status code | Description | Response headers | -|-------------|-------------|------------------| -|**200** | OK | - | -|**401** | Unauthorized | - | -|**500** | Internal server error | - | - -[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) - diff --git a/apps/web/src/types/generated/docs/WebhooksGet200Response.md b/apps/web/src/types/generated/docs/WebhooksGet200Response.md deleted file mode 100644 index 111b0f5c3..000000000 --- a/apps/web/src/types/generated/docs/WebhooksGet200Response.md +++ /dev/null @@ -1,24 +0,0 @@ -# WebhooksGet200Response - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**data** | [**WebhooksGet200ResponseAllOfData**](WebhooksGet200ResponseAllOfData.md) | | [optional] [default to undefined] -**error** | **object** | | [optional] [default to undefined] -**success** | **boolean** | | [optional] [default to undefined] - -## Example - -```typescript -import { WebhooksGet200Response } from './api'; - -const instance: WebhooksGet200Response = { - data, - error, - success, -}; -``` - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/apps/web/src/types/generated/docs/WebhooksGet200ResponseAllOfData.md b/apps/web/src/types/generated/docs/WebhooksGet200ResponseAllOfData.md deleted file mode 100644 index 4c8f37461..000000000 --- a/apps/web/src/types/generated/docs/WebhooksGet200ResponseAllOfData.md +++ /dev/null @@ -1,20 +0,0 @@ -# WebhooksGet200ResponseAllOfData - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**webhooks** | **Array<string>** | | [optional] [default to undefined] - -## Example - -```typescript -import { WebhooksGet200ResponseAllOfData } from './api'; - -const instance: WebhooksGet200ResponseAllOfData = { - webhooks, -}; -``` - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/apps/web/src/types/generated/docs/WebhooksIdRegenerateKeyPost200Response.md b/apps/web/src/types/generated/docs/WebhooksIdRegenerateKeyPost200Response.md deleted file mode 100644 index 3332d1da5..000000000 --- a/apps/web/src/types/generated/docs/WebhooksIdRegenerateKeyPost200Response.md +++ /dev/null @@ -1,24 +0,0 @@ -# WebhooksIdRegenerateKeyPost200Response - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**data** | [**WebhooksIdRegenerateKeyPost200ResponseAllOfData**](WebhooksIdRegenerateKeyPost200ResponseAllOfData.md) | | [optional] [default to undefined] -**error** | **object** | | [optional] [default to undefined] -**success** | **boolean** | | [optional] [default to undefined] - -## Example - -```typescript -import { WebhooksIdRegenerateKeyPost200Response } from './api'; - -const instance: WebhooksIdRegenerateKeyPost200Response = { - data, - error, - success, -}; -``` - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/apps/web/src/types/generated/docs/WebhooksIdRegenerateKeyPost200ResponseAllOfData.md b/apps/web/src/types/generated/docs/WebhooksIdRegenerateKeyPost200ResponseAllOfData.md deleted file mode 100644 index c3d3922d2..000000000 --- a/apps/web/src/types/generated/docs/WebhooksIdRegenerateKeyPost200ResponseAllOfData.md +++ /dev/null @@ -1,22 +0,0 @@ -# WebhooksIdRegenerateKeyPost200ResponseAllOfData - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**api_key** | **string** | | [optional] [default to undefined] -**message** | **string** | | [optional] [default to undefined] - -## Example - -```typescript -import { WebhooksIdRegenerateKeyPost200ResponseAllOfData } from './api'; - -const instance: WebhooksIdRegenerateKeyPost200ResponseAllOfData = { - api_key, - message, -}; -``` - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/apps/web/src/types/generated/docs/WebhooksPost201Response.md b/apps/web/src/types/generated/docs/WebhooksPost201Response.md deleted file mode 100644 index 03213e5e2..000000000 --- a/apps/web/src/types/generated/docs/WebhooksPost201Response.md +++ /dev/null @@ -1,24 +0,0 @@ -# WebhooksPost201Response - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**data** | [**WebhooksPost201ResponseAllOfData**](WebhooksPost201ResponseAllOfData.md) | | [optional] [default to undefined] -**error** | **object** | | [optional] [default to undefined] -**success** | **boolean** | | [optional] [default to undefined] - -## Example - -```typescript -import { WebhooksPost201Response } from './api'; - -const instance: WebhooksPost201Response = { - data, - error, - success, -}; -``` - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/apps/web/src/types/generated/docs/WebhooksPost201ResponseAllOfData.md b/apps/web/src/types/generated/docs/WebhooksPost201ResponseAllOfData.md deleted file mode 100644 index 9db8e9eda..000000000 --- a/apps/web/src/types/generated/docs/WebhooksPost201ResponseAllOfData.md +++ /dev/null @@ -1,20 +0,0 @@ -# WebhooksPost201ResponseAllOfData - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**webhook** | **object** | | [optional] [default to undefined] - -## Example - -```typescript -import { WebhooksPost201ResponseAllOfData } from './api'; - -const instance: WebhooksPost201ResponseAllOfData = { - webhook, -}; -``` - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/apps/web/src/types/generated/git_push.sh b/apps/web/src/types/generated/git_push.sh deleted file mode 100644 index f53a75d4f..000000000 --- a/apps/web/src/types/generated/git_push.sh +++ /dev/null @@ -1,57 +0,0 @@ -#!/bin/sh -# ref: https://help.github.com/articles/adding-an-existing-project-to-github-using-the-command-line/ -# -# Usage example: /bin/sh ./git_push.sh wing328 openapi-petstore-perl "minor update" "gitlab.com" - -git_user_id=$1 -git_repo_id=$2 -release_note=$3 -git_host=$4 - -if [ "$git_host" = "" ]; then - git_host="github.com" - echo "[INFO] No command line input provided. Set \$git_host to $git_host" -fi - -if [ "$git_user_id" = "" ]; then - git_user_id="GIT_USER_ID" - echo "[INFO] No command line input provided. Set \$git_user_id to $git_user_id" -fi - -if [ "$git_repo_id" = "" ]; then - git_repo_id="GIT_REPO_ID" - echo "[INFO] No command line input provided. Set \$git_repo_id to $git_repo_id" -fi - -if [ "$release_note" = "" ]; then - release_note="Minor update" - echo "[INFO] No command line input provided. Set \$release_note to $release_note" -fi - -# Initialize the local directory as a Git repository -git init - -# Adds the files in the local repository and stages them for commit. -git add . - -# Commits the tracked changes and prepares them to be pushed to a remote repository. -git commit -m "$release_note" - -# Sets the new remote -git_remote=$(git remote) -if [ "$git_remote" = "" ]; then # git remote not defined - - if [ "$GIT_TOKEN" = "" ]; then - echo "[INFO] \$GIT_TOKEN (environment variable) is not set. Using the git credential in your environment." - git remote add origin https://${git_host}/${git_user_id}/${git_repo_id}.git - else - git remote add origin https://${git_user_id}:"${GIT_TOKEN}"@${git_host}/${git_user_id}/${git_repo_id}.git - fi - -fi - -git pull origin master - -# Pushes (Forces) the changes in the local repository up to the remote repository -echo "Git pushing to https://${git_host}/${git_user_id}/${git_repo_id}.git" -git push origin master 2>&1 | grep -v 'To https' diff --git a/apps/web/src/types/generated/index.ts b/apps/web/src/types/generated/index.ts deleted file mode 100644 index 246cd9497..000000000 --- a/apps/web/src/types/generated/index.ts +++ /dev/null @@ -1,8 +0,0 @@ -// Auto-generated types from OpenAPI specification -// Do not edit this file manually - it will be overwritten -// DEPRECATED v1.0.8 P3 — migrate consumers to src/services/generated/ (orval). - -export * from './api'; -export * from './base'; -export * from './configuration'; -export * from './common'; diff --git a/apps/web/src/types/index.ts b/apps/web/src/types/index.ts index d829f4b10..0f8c1bb8e 100644 --- a/apps/web/src/types/index.ts +++ b/apps/web/src/types/index.ts @@ -18,12 +18,12 @@ export type { User, PaginatedResponse }; // Export generated types directly for advanced use cases // Action 1.1.3.9: Re-export generated types for direct access when needed -export type { - VezaBackendApiInternalModelsUser, - VezaBackendApiInternalModelsTrack, - VezaBackendApiInternalModelsTrackStatus, - VezaBackendApiInternalModelsPlaylist, -} from './generated/api'; +// v1.0.8 B9 — sourced from orval (services/generated/model/) instead of +// the dropped openapi-generator-cli output. +export type { VezaBackendApiInternalModelsUser } from '@/services/generated/model/vezaBackendApiInternalModelsUser'; +export type { VezaBackendApiInternalModelsTrack } from '@/services/generated/model/vezaBackendApiInternalModelsTrack'; +export type { VezaBackendApiInternalModelsTrackStatus } from '@/services/generated/model/vezaBackendApiInternalModelsTrackStatus'; +export type { VezaBackendApiInternalModelsPlaylist } from '@/services/generated/model/vezaBackendApiInternalModelsPlaylist'; export * from './forms'; export * from './marketplace'; export * from './queryParams'; diff --git a/package-lock.json b/package-lock.json index 72f37d03d..b29e15c6f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -71,7 +71,6 @@ "zustand": "^4.5.0" }, "devDependencies": { - "@openapitools/openapi-generator-cli": "^2.27.0", "@storybook/addon-a11y": "^10.3.3", "@storybook/addon-docs": "^10.3.3", "@storybook/addon-vitest": "^10.3.3", @@ -1109,17 +1108,6 @@ "node": ">=18" } }, - "node_modules/@borewit/text-codec": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/@borewit/text-codec/-/text-codec-0.2.1.tgz", - "integrity": "sha512-k7vvKPbf7J2fZ5klGRD9AeKfUvojuZIQ3BT5u7Jfv+puwXkUBUT5PVyMDfJZpy30CBDXGMgw7fguK/lpOMBvgw==", - "dev": true, - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/Borewit" - } - }, "node_modules/@chromatic-com/playwright": { "version": "0.12.8", "resolved": "https://registry.npmjs.org/@chromatic-com/playwright/-/playwright-0.12.8.tgz", @@ -2680,52 +2668,6 @@ } } }, - "node_modules/@inquirer/external-editor": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@inquirer/external-editor/-/external-editor-1.0.3.tgz", - "integrity": "sha512-RWbSrDiYmO4LbejWY7ttpxczuwQyZLBUyygsA9Nsv95hpzUWwnNTVQmAq3xuh7vNwCp07UTmE5i11XAEExx4RA==", - "dev": true, - "license": "MIT", - "dependencies": { - "chardet": "^2.1.1", - "iconv-lite": "^0.7.0" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "@types/node": ">=18" - }, - "peerDependenciesMeta": { - "@types/node": { - "optional": true - } - } - }, - "node_modules/@inquirer/external-editor/node_modules/chardet": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/chardet/-/chardet-2.1.1.tgz", - "integrity": "sha512-PsezH1rqdV9VvyNhxxOW32/d75r01NY7TQCmOqomRo15ZSOKbpTFVsfjghxo6JloQUCGnH4k1LGu0R4yCLlWQQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/@inquirer/external-editor/node_modules/iconv-lite": { - "version": "0.7.2", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.7.2.tgz", - "integrity": "sha512-im9DjEDQ55s9fL4EYzOAv0yMqmMBSZp6G0VvFyTMPKWxiSBHUj9NW/qqLmXUwXrrM7AvqSlTCfvqRb0cM8yYqw==", - "dev": true, - "license": "MIT", - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - }, - "engines": { - "node": ">=0.10.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/express" - } - }, "node_modules/@inquirer/figures": { "version": "1.0.15", "resolved": "https://registry.npmjs.org/@inquirer/figures/-/figures-1.0.15.tgz", @@ -3053,49 +2995,6 @@ "node": ">= 8" } }, - "node_modules/@nuxt/opencollective": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/@nuxt/opencollective/-/opencollective-0.4.1.tgz", - "integrity": "sha512-GXD3wy50qYbxCJ652bDrDzgMr3NFEkIS374+IgFQKkCvk9yiYcLvX2XDYr7UyQxf4wK0e+yqDYRubZ0DtOxnmQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "consola": "^3.2.3" - }, - "bin": { - "opencollective": "bin/opencollective.js" - }, - "engines": { - "node": "^14.18.0 || >=16.10.0", - "npm": ">=5.10.0" - } - }, - "node_modules/@nuxtjs/opencollective": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/@nuxtjs/opencollective/-/opencollective-0.3.2.tgz", - "integrity": "sha512-um0xL3fO7Mf4fDxcqx9KryrB7zgRM5JSlvGN5AGkP6JLM5XEKyjeAiPbNxdXVXQ16isuAhYpvP88NgL2BGd6aA==", - "dev": true, - "license": "MIT", - "dependencies": { - "chalk": "^4.1.0", - "consola": "^2.15.0", - "node-fetch": "^2.6.1" - }, - "bin": { - "opencollective": "bin/opencollective.js" - }, - "engines": { - "node": ">=8.0.0", - "npm": ">=5.0.0" - } - }, - "node_modules/@nuxtjs/opencollective/node_modules/consola": { - "version": "2.15.3", - "resolved": "https://registry.npmjs.org/consola/-/consola-2.15.3.tgz", - "integrity": "sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw==", - "dev": true, - "license": "MIT" - }, "node_modules/@open-draft/deferred-promise": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/@open-draft/deferred-promise/-/deferred-promise-2.2.0.tgz", @@ -3121,397 +3020,6 @@ "dev": true, "license": "MIT" }, - "node_modules/@openapitools/openapi-generator-cli": { - "version": "2.27.0", - "resolved": "https://registry.npmjs.org/@openapitools/openapi-generator-cli/-/openapi-generator-cli-2.27.0.tgz", - "integrity": "sha512-JJWO9joe6TudGdHuwBi+NhEMIwXcz1B2FawBsJ5SjgTMQxSjArkChq+ro6Ovv6q1zfWavCs/q9uYeNPtRRcQBA==", - "dev": true, - "hasInstallScript": true, - "license": "Apache-2.0", - "dependencies": { - "@nestjs/axios": "4.0.1", - "@nestjs/common": "11.1.11", - "@nestjs/core": "11.1.11", - "@nuxtjs/opencollective": "0.3.2", - "axios": "1.13.2", - "chalk": "4.1.2", - "commander": "8.3.0", - "compare-versions": "6.1.1", - "concurrently": "9.2.1", - "console.table": "0.10.0", - "fs-extra": "11.3.3", - "glob": "13.0.0", - "inquirer": "8.2.7", - "proxy-agent": "6.5.0", - "reflect-metadata": "0.2.2", - "rxjs": "7.8.2", - "tslib": "2.8.1" - }, - "bin": { - "openapi-generator-cli": "main.js" - }, - "engines": { - "node": ">=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/openapi_generator" - } - }, - "node_modules/@openapitools/openapi-generator-cli/node_modules/@nestjs/axios": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@nestjs/axios/-/axios-4.0.1.tgz", - "integrity": "sha512-68pFJgu+/AZbWkGu65Z3r55bTsCPlgyKaV4BSG8yUAD72q1PPuyVRgUwFv6BxdnibTUHlyxm06FmYWNC+bjN7A==", - "dev": true, - "license": "MIT", - "peerDependencies": { - "@nestjs/common": "^10.0.0 || ^11.0.0", - "axios": "^1.3.1", - "rxjs": "^7.0.0" - } - }, - "node_modules/@openapitools/openapi-generator-cli/node_modules/@nestjs/common": { - "version": "11.1.11", - "resolved": "https://registry.npmjs.org/@nestjs/common/-/common-11.1.11.tgz", - "integrity": "sha512-R/+A8XFqLgN8zNs2twhrOaE7dJbRQhdPX3g46am4RT/x8xGLqDphrXkUIno4cGUZHxbczChBAaAPTdPv73wDZA==", - "dev": true, - "license": "MIT", - "dependencies": { - "file-type": "21.2.0", - "iterare": "1.2.1", - "load-esm": "1.0.3", - "tslib": "2.8.1", - "uid": "2.0.2" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/nest" - }, - "peerDependencies": { - "class-transformer": ">=0.4.1", - "class-validator": ">=0.13.2", - "reflect-metadata": "^0.1.12 || ^0.2.0", - "rxjs": "^7.1.0" - }, - "peerDependenciesMeta": { - "class-transformer": { - "optional": true - }, - "class-validator": { - "optional": true - } - } - }, - "node_modules/@openapitools/openapi-generator-cli/node_modules/@nestjs/core": { - "version": "11.1.11", - "resolved": "https://registry.npmjs.org/@nestjs/core/-/core-11.1.11.tgz", - "integrity": "sha512-H9i+zT3RvHi7tDc+lCmWHJ3ustXveABCr+Vcpl96dNOxgmrx4elQSTC4W93Mlav2opfLV+p0UTHY6L+bpUA4zA==", - "dev": true, - "hasInstallScript": true, - "license": "MIT", - "dependencies": { - "@nuxt/opencollective": "0.4.1", - "fast-safe-stringify": "2.1.1", - "iterare": "1.2.1", - "path-to-regexp": "8.3.0", - "tslib": "2.8.1", - "uid": "2.0.2" - }, - "engines": { - "node": ">= 20" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/nest" - }, - "peerDependencies": { - "@nestjs/common": "^11.0.0", - "@nestjs/microservices": "^11.0.0", - "@nestjs/platform-express": "^11.0.0", - "@nestjs/websockets": "^11.0.0", - "reflect-metadata": "^0.1.12 || ^0.2.0", - "rxjs": "^7.1.0" - }, - "peerDependenciesMeta": { - "@nestjs/microservices": { - "optional": true - }, - "@nestjs/platform-express": { - "optional": true - }, - "@nestjs/websockets": { - "optional": true - } - } - }, - "node_modules/@openapitools/openapi-generator-cli/node_modules/ansi-escapes": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", - "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "type-fest": "^0.21.3" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@openapitools/openapi-generator-cli/node_modules/balanced-match": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz", - "integrity": "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==", - "dev": true, - "license": "MIT", - "engines": { - "node": "18 || 20 || >=22" - } - }, - "node_modules/@openapitools/openapi-generator-cli/node_modules/brace-expansion": { - "version": "5.0.5", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.5.tgz", - "integrity": "sha512-VZznLgtwhn+Mact9tfiwx64fA9erHH/MCXEUfB/0bX/6Fz6ny5EGTXYltMocqg4xFAQZtnO3DHWWXi8RiuN7cQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^4.0.2" - }, - "engines": { - "node": "18 || 20 || >=22" - } - }, - "node_modules/@openapitools/openapi-generator-cli/node_modules/cli-width": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz", - "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==", - "dev": true, - "license": "ISC", - "engines": { - "node": ">= 10" - } - }, - "node_modules/@openapitools/openapi-generator-cli/node_modules/commander": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", - "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 12" - } - }, - "node_modules/@openapitools/openapi-generator-cli/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true, - "license": "MIT" - }, - "node_modules/@openapitools/openapi-generator-cli/node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/@openapitools/openapi-generator-cli/node_modules/figures": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", - "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", - "dev": true, - "license": "MIT", - "dependencies": { - "escape-string-regexp": "^1.0.5" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@openapitools/openapi-generator-cli/node_modules/file-type": { - "version": "21.2.0", - "resolved": "https://registry.npmjs.org/file-type/-/file-type-21.2.0.tgz", - "integrity": "sha512-vCYBgFOrJQLoTzDyAXAL/RFfKnXXpUYt4+tipVy26nJJhT7ftgGETf2tAQF59EEL61i3MrorV/PG6tf7LJK7eg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@tokenizer/inflate": "^0.4.1", - "strtok3": "^10.3.4", - "token-types": "^6.1.1", - "uint8array-extras": "^1.4.0" - }, - "engines": { - "node": ">=20" - }, - "funding": { - "url": "https://github.com/sindresorhus/file-type?sponsor=1" - } - }, - "node_modules/@openapitools/openapi-generator-cli/node_modules/glob": { - "version": "13.0.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-13.0.0.tgz", - "integrity": "sha512-tvZgpqk6fz4BaNZ66ZsRaZnbHvP/jG3uKJvAZOwEVUL4RTA5nJeeLYfyN9/VA8NX/V3IBG+hkeuGpKjvELkVhA==", - "dev": true, - "license": "BlueOak-1.0.0", - "dependencies": { - "minimatch": "^10.1.1", - "minipass": "^7.1.2", - "path-scurry": "^2.0.0" - }, - "engines": { - "node": "20 || >=22" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/@openapitools/openapi-generator-cli/node_modules/inquirer": { - "version": "8.2.7", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-8.2.7.tgz", - "integrity": "sha512-UjOaSel/iddGZJ5xP/Eixh6dY1XghiBw4XK13rCCIJcJfyhhoul/7KhLLUGtebEj6GDYM6Vnx/mVsjx2L/mFIA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@inquirer/external-editor": "^1.0.0", - "ansi-escapes": "^4.2.1", - "chalk": "^4.1.1", - "cli-cursor": "^3.1.0", - "cli-width": "^3.0.0", - "figures": "^3.0.0", - "lodash": "^4.17.21", - "mute-stream": "0.0.8", - "ora": "^5.4.1", - "run-async": "^2.4.0", - "rxjs": "^7.5.5", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0", - "through": "^2.3.6", - "wrap-ansi": "^6.0.1" - }, - "engines": { - "node": ">=12.0.0" - } - }, - "node_modules/@openapitools/openapi-generator-cli/node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/@openapitools/openapi-generator-cli/node_modules/lru-cache": { - "version": "11.2.7", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.2.7.tgz", - "integrity": "sha512-aY/R+aEsRelme17KGQa/1ZSIpLpNYYrhcrepKTZgE+W3WM16YMCaPwOHLHsmopZHELU0Ojin1lPVxKR0MihncA==", - "dev": true, - "license": "BlueOak-1.0.0", - "engines": { - "node": "20 || >=22" - } - }, - "node_modules/@openapitools/openapi-generator-cli/node_modules/minimatch": { - "version": "10.2.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.4.tgz", - "integrity": "sha512-oRjTw/97aTBN0RHbYCdtF1MQfvusSIBQM0IZEgzl6426+8jSC0nF1a/GmnVLpfB9yyr6g6FTqWqiZVbxrtaCIg==", - "dev": true, - "license": "BlueOak-1.0.0", - "dependencies": { - "brace-expansion": "^5.0.2" - }, - "engines": { - "node": "18 || 20 || >=22" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/@openapitools/openapi-generator-cli/node_modules/mute-stream": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", - "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", - "dev": true, - "license": "ISC" - }, - "node_modules/@openapitools/openapi-generator-cli/node_modules/path-scurry": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-2.0.2.tgz", - "integrity": "sha512-3O/iVVsJAPsOnpwWIeD+d6z/7PmqApyQePUtCndjatj/9I5LylHvt5qluFaBT3I5h3r1ejfR056c+FCv+NnNXg==", - "dev": true, - "license": "BlueOak-1.0.0", - "dependencies": { - "lru-cache": "^11.0.0", - "minipass": "^7.1.2" - }, - "engines": { - "node": "18 || 20 || >=22" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/@openapitools/openapi-generator-cli/node_modules/path-to-regexp": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-8.3.0.tgz", - "integrity": "sha512-7jdwVIRtsP8MYpdXSwOS0YdD0Du+qOoF/AEPIt88PcCFrZCzx41oxku1jD88hZBwbNUIEfpqvuhjFaMAqMTWnA==", - "dev": true, - "license": "MIT", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/express" - } - }, - "node_modules/@openapitools/openapi-generator-cli/node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "license": "MIT", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@openapitools/openapi-generator-cli/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@openapitools/openapi-generator-cli/node_modules/type-fest": { - "version": "0.21.3", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", - "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", - "dev": true, - "license": "(MIT OR CC0-1.0)", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/@orval/angular": { "version": "8.8.1", "resolved": "https://registry.npmjs.org/@orval/angular/-/angular-8.8.1.tgz", @@ -7008,31 +6516,6 @@ } } }, - "node_modules/@tokenizer/inflate": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/@tokenizer/inflate/-/inflate-0.4.1.tgz", - "integrity": "sha512-2mAv+8pkG6GIZiF1kNg1jAjh27IDxEPKwdGul3snfztFerfPGI1LjDezZp3i7BElXompqEtPmoPx6c2wgtWsOA==", - "dev": true, - "license": "MIT", - "dependencies": { - "debug": "^4.4.3", - "token-types": "^6.1.1" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/Borewit" - } - }, - "node_modules/@tokenizer/token": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/@tokenizer/token/-/token-0.3.0.tgz", - "integrity": "sha512-OvjF+z51L3ov0OyAU0duzsYuvO01PH7x4t6DJx+guahgTnBHkhJdG7soQeTSFLWN3efnHyibZ4Z8l2EuWwJN3A==", - "dev": true, - "license": "MIT" - }, "node_modules/@tootallnate/quickjs-emscripten": { "version": "0.23.0", "resolved": "https://registry.npmjs.org/@tootallnate/quickjs-emscripten/-/quickjs-emscripten-0.23.0.tgz", @@ -9576,32 +9059,6 @@ "node": ">=6" } }, - "node_modules/cli-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", - "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", - "dev": true, - "license": "MIT", - "dependencies": { - "restore-cursor": "^3.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/cli-spinners": { - "version": "2.9.2", - "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.2.tgz", - "integrity": "sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/cli-width": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-4.1.0.tgz", @@ -9690,16 +9147,6 @@ "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "node_modules/clone": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", - "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.8" - } - }, "node_modules/clsx": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz", @@ -9801,57 +9248,6 @@ "dev": true, "license": "MIT" }, - "node_modules/concurrently": { - "version": "9.2.1", - "resolved": "https://registry.npmjs.org/concurrently/-/concurrently-9.2.1.tgz", - "integrity": "sha512-fsfrO0MxV64Znoy8/l1vVIjjHa29SZyyqPgQBwhiDcaW8wJc2W3XWVOGx4M3oJBnv/zdUZIIp1gDeS98GzP8Ng==", - "dev": true, - "license": "MIT", - "dependencies": { - "chalk": "4.1.2", - "rxjs": "7.8.2", - "shell-quote": "1.8.3", - "supports-color": "8.1.1", - "tree-kill": "1.2.2", - "yargs": "17.7.2" - }, - "bin": { - "conc": "dist/bin/concurrently.js", - "concurrently": "dist/bin/concurrently.js" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/open-cli-tools/concurrently?sponsor=1" - } - }, - "node_modules/concurrently/node_modules/supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" - } - }, - "node_modules/consola": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/consola/-/consola-3.4.2.tgz", - "integrity": "sha512-5IKcdX0nnYavi6G7TtOhwkYzyjfJlatbjMjuLSfE2kYT5pMDOilZ4OvMhi637CcDICTmz3wARPoyhqyX1Y+XvA==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^14.18.0 || >=16.10.0" - } - }, "node_modules/console-control-strings": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", @@ -9859,19 +9255,6 @@ "dev": true, "license": "ISC" }, - "node_modules/console.table": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/console.table/-/console.table-0.10.0.tgz", - "integrity": "sha512-dPyZofqggxuvSf7WXvNjuRfnsOk1YazkVP8FdxH4tcH2c37wc79/Yl6Bhr7Lsu00KMgy2ql/qCMuNu8xctZM8g==", - "dev": true, - "license": "MIT", - "dependencies": { - "easy-table": "1.1.0" - }, - "engines": { - "node": "> 0.10" - } - }, "node_modules/constants-browserify": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", @@ -10583,19 +9966,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/defaults": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz", - "integrity": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==", - "dev": true, - "license": "MIT", - "dependencies": { - "clone": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/define-data-property": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", @@ -10928,16 +10298,6 @@ "dev": true, "license": "MIT" }, - "node_modules/easy-table": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/easy-table/-/easy-table-1.1.0.tgz", - "integrity": "sha512-oq33hWOSSnl2Hoh00tZWaIPi1ievrD9aFG82/IgjlycAnW9hHx5PkJiXpxPsgEE+H7BsbVQXFVFST8TEXS6/pA==", - "dev": true, - "license": "MIT", - "optionalDependencies": { - "wcwidth": ">=1.0.1" - } - }, "node_modules/ee-first": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", @@ -11931,13 +11291,6 @@ "dev": true, "license": "MIT" }, - "node_modules/fast-safe-stringify": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz", - "integrity": "sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==", - "dev": true, - "license": "MIT" - }, "node_modules/fast-uri": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.1.0.tgz", @@ -13842,16 +13195,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/is-interactive": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", - "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, "node_modules/is-map": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.3.tgz", @@ -14067,19 +13410,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-unicode-supported": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", - "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/is-weakmap": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.2.tgz", @@ -14236,16 +13566,6 @@ "node": ">=8" } }, - "node_modules/iterare": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/iterare/-/iterare-1.2.1.tgz", - "integrity": "sha512-RKYVTCjAnRthyJes037NX/IiqeidgN1xc3j1RjFfECFp28A1GVwK9nA+i0rJPaHqSZwygLzRnFlzUuHFoWWy+Q==", - "dev": true, - "license": "ISC", - "engines": { - "node": ">=6" - } - }, "node_modules/iterator.prototype": { "version": "1.1.5", "resolved": "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.5.tgz", @@ -14886,26 +14206,6 @@ "uc.micro": "^2.0.0" } }, - "node_modules/load-esm": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/load-esm/-/load-esm-1.0.3.tgz", - "integrity": "sha512-v5xlu8eHD1+6r8EHTg6hfmO97LN8ugKtiXcy5e6oN72iD2r6u0RPfLl6fxM+7Wnh2ZRq15o0russMst44WauPA==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/Borewit" - }, - { - "type": "buymeacoffee", - "url": "https://buymeacoffee.com/borewit" - } - ], - "license": "MIT", - "engines": { - "node": ">=13.2.0" - } - }, "node_modules/loader-runner": { "version": "4.3.1", "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.1.tgz", @@ -15014,23 +14314,6 @@ "dev": true, "license": "MIT" }, - "node_modules/log-symbols": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", - "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", - "dev": true, - "license": "MIT", - "dependencies": { - "chalk": "^4.1.0", - "is-unicode-supported": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/loose-envify": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", @@ -15345,16 +14628,6 @@ "node": ">= 0.6" } }, - "node_modules/mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, "node_modules/mimic-response": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-2.1.0.tgz", @@ -16078,22 +15351,6 @@ "wrappy": "1" } }, - "node_modules/onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", - "dev": true, - "license": "MIT", - "dependencies": { - "mimic-fn": "^2.1.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/open": { "version": "10.2.0", "resolved": "https://registry.npmjs.org/open/-/open-10.2.0.tgz", @@ -16192,43 +15449,6 @@ "node": ">= 0.8.0" } }, - "node_modules/ora": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz", - "integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "bl": "^4.1.0", - "chalk": "^4.1.0", - "cli-cursor": "^3.1.0", - "cli-spinners": "^2.5.0", - "is-interactive": "^1.0.0", - "is-unicode-supported": "^0.1.0", - "log-symbols": "^4.1.0", - "strip-ansi": "^6.0.0", - "wcwidth": "^1.0.1" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/ora/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/orval": { "version": "8.8.1", "resolved": "https://registry.npmjs.org/orval/-/orval-8.8.1.tgz", @@ -18159,13 +17379,6 @@ "redux": "^5.0.0" } }, - "node_modules/reflect-metadata": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.2.2.tgz", - "integrity": "sha512-urBwgfrvVP/eAyXx4hluJivBKzuEbSQs9rKWCrCkbSxNv8mxPcUZKeuoF3Uy4mJl3Lwprp6yy5/39VWigZ4K6Q==", - "dev": true, - "license": "Apache-2.0" - }, "node_modules/reflect.getprototypeof": { "version": "1.0.10", "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.10.tgz", @@ -18378,27 +17591,6 @@ "node": ">=4" } }, - "node_modules/restore-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", - "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", - "dev": true, - "license": "MIT", - "dependencies": { - "onetime": "^5.1.0", - "signal-exit": "^3.0.2" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/restore-cursor/node_modules/signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", - "dev": true, - "license": "ISC" - }, "node_modules/ret": { "version": "0.2.2", "resolved": "https://registry.npmjs.org/ret/-/ret-0.2.2.tgz", @@ -18550,16 +17742,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/run-async": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", - "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.12.0" - } - }, "node_modules/run-parallel": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", @@ -18584,16 +17766,6 @@ "queue-microtask": "^1.2.2" } }, - "node_modules/rxjs": { - "version": "7.8.2", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.2.tgz", - "integrity": "sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "tslib": "^2.1.0" - } - }, "node_modules/safe-array-concat": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.3.tgz", @@ -18929,19 +18101,6 @@ "node": ">=8" } }, - "node_modules/shell-quote": { - "version": "1.8.3", - "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.3.tgz", - "integrity": "sha512-ObmnIF4hXNg1BqhnHmgbDETF8dLPCggZWBjkQfhZpbszZnYur5DUljTcCHii5LC3J5E0yeO/1LIMyH+UvHQgyw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/short-unique-id": { "version": "5.3.2", "resolved": "https://registry.npmjs.org/short-unique-id/-/short-unique-id-5.3.2.tgz", @@ -19612,23 +18771,6 @@ "dev": true, "license": "MIT" }, - "node_modules/strtok3": { - "version": "10.3.4", - "resolved": "https://registry.npmjs.org/strtok3/-/strtok3-10.3.4.tgz", - "integrity": "sha512-KIy5nylvC5le1OdaaoCJ07L+8iQzJHGH6pWDuzS+d07Cu7n1MZ2x26P8ZKIWfbK02+XIL8Mp4RkWeqdUCrDMfg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@tokenizer/token": "^0.3.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/Borewit" - } - }, "node_modules/style-loader": { "version": "3.3.4", "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-3.3.4.tgz", @@ -20270,25 +19412,6 @@ "node": ">=0.6" } }, - "node_modules/token-types": { - "version": "6.1.2", - "resolved": "https://registry.npmjs.org/token-types/-/token-types-6.1.2.tgz", - "integrity": "sha512-dRXchy+C0IgK8WPC6xvCHFRIWYUbqqdEIKPaKo/AcTUNzwLTK6AH7RjdLWsEZcAN/TBdtfUw3PYEgPr5VPr6ww==", - "dev": true, - "license": "MIT", - "dependencies": { - "@borewit/text-codec": "^0.2.1", - "@tokenizer/token": "^0.3.0", - "ieee754": "^1.2.1" - }, - "engines": { - "node": ">=14.16" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/Borewit" - } - }, "node_modules/totalist": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/totalist/-/totalist-3.0.1.tgz", @@ -20338,16 +19461,6 @@ "node": ">=18" } }, - "node_modules/tree-kill": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz", - "integrity": "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==", - "dev": true, - "license": "MIT", - "bin": { - "tree-kill": "cli.js" - } - }, "node_modules/tree-sitter-json": { "version": "0.24.8", "resolved": "https://registry.npmjs.org/tree-sitter-json/-/tree-sitter-json-0.24.8.tgz", @@ -20838,32 +19951,6 @@ "dev": true, "license": "MIT" }, - "node_modules/uid": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/uid/-/uid-2.0.2.tgz", - "integrity": "sha512-u3xV3X7uzvi5b1MncmZo3i2Aw222Zk1keqLA1YkHldREkAhAqi65wuPfe7lHx8H/Wzy+8CE7S7uS3jekIM5s8g==", - "dev": true, - "license": "MIT", - "dependencies": { - "@lukeed/csprng": "^1.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/uint8array-extras": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/uint8array-extras/-/uint8array-extras-1.5.0.tgz", - "integrity": "sha512-rvKSBiC5zqCCiDZ9kAOszZcDvdAHwwIKJG33Ykj43OKcWsnmcBRL09YTU4nOeHZ8Y2a7l1MgTd08SBe9A8Qj6A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/unbox-primitive": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.1.0.tgz", @@ -21438,16 +20525,6 @@ "node": ">=10.13.0" } }, - "node_modules/wcwidth": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", - "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==", - "dev": true, - "license": "MIT", - "dependencies": { - "defaults": "^1.0.3" - } - }, "node_modules/web-streams-polyfill": { "version": "3.3.3", "resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.3.3.tgz",