/** * This file was auto-generated by openapi-typescript. * Do not make direct changes to the file. */ export interface paths { "/playlists": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** Get Paginated PlayLists. */ get: operations["GetPlayLists"]; put?: never; /** Create A New PlayList. */ post: operations["CreatePlayList"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/playlists/{id}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** Get A PlayList By Id. */ get: operations["GetPlayListById"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/playlists/users/{userId}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** Get Paginated PlayLists For A User. */ get: operations["GetPlayListsByUserId"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/playlists/{playlistId}/tracks": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** Get Paginated Tracks Of A PlayList. */ get: operations["GetPlayListTracks"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/playlists/{id}/cover": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** Get A PlayList Cover Image. */ get: operations["GetPlayListCover"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/playlists/{playlistId}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; /** Update An Existing PlayList. */ put: operations["UpdatePlayList"]; post?: never; /** Delete A PlayList. */ delete: operations["DeletePlayList"]; options?: never; head?: never; patch?: never; trace?: never; }; "/playlists/upload-picture": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; /** Request A Pre-Signed URL To Upload A PlayList Picture. */ post: operations["RequestPlayListPictureUpload"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/playlists/{playlistId}/tracks/{trackId}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; /** Add A Track To A PlayList. */ post: operations["AddTrackToPlayList"]; /** Remove A Track From A PlayList. */ delete: operations["RemoveTrackFromPlayList"]; options?: never; head?: never; patch?: never; trace?: never; }; "/playlists/{playlistId}/youtube-tracks": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; /** Add A YouTube Track To A PlayList, Downloading It In The Background If Needed. */ post: operations["AddYouTubeTrackToPlayList"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/tracks": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** Get Paginated Tracks. */ get: operations["GetTracks"]; put?: never; /** Create A New Track. */ post: operations["CreateTrack"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/tracks/{id}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** Get A Track By Id. */ get: operations["GetTrackById"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/tracks/{id}/cover": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** Get A Track Cover Image. */ get: operations["GetTrackCover"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/tracks/{id}/stream": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** Get A Streaming Manifest URL And Ticket For A Track. */ get: operations["GetTrackStream"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/tracks/users/{userId}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** Get Paginated Tracks For A User. */ get: operations["GetTracksByUserId"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/tracks/{trackId}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; post?: never; /** Delete A Track. */ delete: operations["DeleteTrack"]; options?: never; head?: never; patch?: never; trace?: never; }; "/tracks/upload-urls": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; /** Request Pre-Signed URLs To Upload Track Picture And Audio. */ post: operations["RequestTrackUploadUrls"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/users": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** Get Paginated Users. */ get: operations["GetUsers"]; put?: never; /** Create A New User. */ post: operations["CreateUser"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/users/{id}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** Get A User By Id. */ get: operations["GetUserById"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/users/{id}/listening-history": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** Get A User'S Listening History. */ get: operations["GetListeningHistory"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/youtube/search": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** Search Songs On YouTube Music. */ get: operations["SearchYouTubeTracks"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/youtube/tracks/{videoId}/stream": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; /** Resolve Playback For A YouTube Track: Server Stream If Downloaded, Direct YouTube Stream Otherwise. */ get: operations["GetYouTubeTrackStream"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; } export type webhooks = Record; export interface components { schemas: { AddYouTubeTrackRequest: { videoId: string; title: string; artist: string; /** Format: int32 */ durationSeconds: number | string; thumbnailUrl: string; }; CreatePlayListRequest: { name: string; description: string; /** Format: uuid */ pictureIntentId: null | string; }; CreateTrackRequest: { title: string; /** Format: uuid */ pictureIntentId: string; /** Format: uuid */ audioIntentId: string; }; CreateUserRequest: { /** Format: int64 */ id: number | string; name: string; firstName: null | string; secondName: null | string; }; HttpValidationProblemDetails: { type?: null | string; title?: null | string; /** Format: int32 */ status?: null | number | string; detail?: null | string; instance?: null | string; errors?: { [key: string]: string[]; }; }; PaginatedResponseOfPlayListApplicationResponse: { items: components["schemas"]["PlayListApplicationResponse"][]; /** Format: int32 */ pageNumber: number | string; /** Format: int32 */ pageSize: number | string; /** Format: int32 */ pageCount: number | string; /** Format: int32 */ totalItemCount: number | string; hasNextPage: boolean; hasPreviousPage: boolean; }; PaginatedResponseOfTrackApplicationResponse: { items: components["schemas"]["TrackApplicationResponse"][]; /** Format: int32 */ pageNumber: number | string; /** Format: int32 */ pageSize: number | string; /** Format: int32 */ pageCount: number | string; /** Format: int32 */ totalItemCount: number | string; hasNextPage: boolean; hasPreviousPage: boolean; }; PaginatedResponseOfUserApplicationResponse: { items: components["schemas"]["UserApplicationResponse"][]; /** Format: int32 */ pageNumber: number | string; /** Format: int32 */ pageSize: number | string; /** Format: int32 */ pageCount: number | string; /** Format: int32 */ totalItemCount: number | string; hasNextPage: boolean; hasPreviousPage: boolean; }; PlayListApplicationResponse: { /** Format: uuid */ id: string; name: string; description: string; smallImageKeyName: string; mediumImageKeyName: string; largeImageKeyName: string; /** Format: date-time */ createdAt: string; /** Format: date-time */ updatedAt: string; }; PlayListPictureUploadResponse: { /** Format: uuid */ intentId: string; bucket: string; key: string; pictureName: string; contentType: string; /** Format: int32 */ expiresInSeconds: number | string; uploadUrl: string; }; /** @enum {unknown} */ ProcessingStatus: "Pending" | "Processing" | "Completed" | "Failed"; RequestPlayListPictureUploadRequest: { fileType: string; contentType: string; /** Format: int64 */ expectedSizeBytes?: null | number | string; }; RequestTrackUploadUrlsRequest: { pictureFileType: string; pictureContentType: string; audioFileType: string; audioContentType: string; /** Format: int64 */ expectedPictureSizeBytes?: null | number | string; /** Format: int64 */ expectedAudioSizeBytes?: null | number | string; }; TrackApplicationResponse: { /** Format: uuid */ id: string; title: string; artist: string; source: components["schemas"]["TrackSource"]; externalId: string; audioStatus: components["schemas"]["ProcessingStatus"]; /** Format: int32 */ duration: number | string; /** Format: int32 */ listensCount: number | string; /** Format: date-time */ createdAt: string; /** Format: date-time */ updatedAt: string; }; /** @enum {unknown} */ TrackSource: "Local" | "YouTube"; TrackStreamResponse: { manifestUrl: string; ticket: string; /** Format: int32 */ expiresInSeconds: number | string; }; TrackUploadUrlsResponse: { /** Format: uuid */ pictureIntentId: string; /** Format: uuid */ audioIntentId: string; bucket: string; pictureKey: string; pictureName: string; pictureContentType: string; pictureUploadUrl: string; audioKey: string; audioName: string; audioContentType: string; audioUploadUrl: string; /** Format: int32 */ expiresInSeconds: number | string; }; UpdatePlayListRequest: { newName: null | string; newDescription: null | string; /** Format: uuid */ newPictureIntentId: null | string; }; UserApplicationResponse: { /** Format: int64 */ id: number | string; name: string; firstName: null | string; secondName: null | string; profilePictureUrl: null | string; /** Format: date-time */ createdAt: string; /** Format: date-time */ updatedAt: string; }; YouTubeSearchResult: { items: components["schemas"]["YouTubeSongResult"][]; continuationToken: string; }; YouTubeSongResult: { videoId: string; title: string; artist: string; album: string; /** Format: int32 */ durationSeconds: number | string; thumbnailUrl: string; isExplicit: boolean; }; /** @enum {unknown} */ YouTubeStreamMode: "Server" | "YouTube"; YouTubeStreamResponse: { mode: components["schemas"]["YouTubeStreamMode"]; streamUrl: string; ticket: string; /** Format: int32 */ expiresInSeconds: number | string; /** Format: uuid */ trackId: string; }; }; responses: never; parameters: never; requestBodies: never; headers: never; pathItems: never; } export type $defs = Record; export interface operations { GetPlayLists: { parameters: { query?: { pageNumber?: number | string; pageSize?: number | string; }; header?: never; path?: never; cookie?: never; }; requestBody?: never; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["PaginatedResponseOfPlayListApplicationResponse"]; }; }; }; }; CreatePlayList: { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; requestBody: { content: { "application/json": components["schemas"]["CreatePlayListRequest"]; }; }; responses: { /** @description Created */ 201: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["PlayListApplicationResponse"]; }; }; /** @description Bad Request */ 400: { headers: { [name: string]: unknown; }; content: { "application/problem+json": components["schemas"]["HttpValidationProblemDetails"]; }; }; /** @description Unauthorized */ 401: { headers: { [name: string]: unknown; }; content?: never; }; /** @description Not Found */ 404: { headers: { [name: string]: unknown; }; content?: never; }; }; }; GetPlayListById: { parameters: { query?: never; header?: never; path: { id: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["PlayListApplicationResponse"]; }; }; /** @description Not Found */ 404: { headers: { [name: string]: unknown; }; content?: never; }; }; }; GetPlayListsByUserId: { parameters: { query?: { name?: string; pageNumber?: number | string; pageSize?: number | string; }; header?: never; path: { userId: number | string; }; cookie?: never; }; requestBody?: never; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["PaginatedResponseOfPlayListApplicationResponse"]; }; }; }; }; GetPlayListTracks: { parameters: { query?: { pageNumber?: number | string; pageSize?: number | string; }; header?: never; path: { playlistId: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["PaginatedResponseOfTrackApplicationResponse"]; }; }; /** @description Not Found */ 404: { headers: { [name: string]: unknown; }; content?: never; }; }; }; GetPlayListCover: { parameters: { query?: { size?: string; }; header?: never; path: { id: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content?: never; }; /** @description Not Found */ 404: { headers: { [name: string]: unknown; }; content?: never; }; }; }; UpdatePlayList: { parameters: { query?: never; header?: never; path: { playlistId: string; }; cookie?: never; }; requestBody: { content: { "application/json": components["schemas"]["UpdatePlayListRequest"]; }; }; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["PlayListApplicationResponse"]; }; }; /** @description Bad Request */ 400: { headers: { [name: string]: unknown; }; content: { "application/problem+json": components["schemas"]["HttpValidationProblemDetails"]; }; }; /** @description Unauthorized */ 401: { headers: { [name: string]: unknown; }; content?: never; }; /** @description Not Found */ 404: { headers: { [name: string]: unknown; }; content?: never; }; }; }; DeletePlayList: { parameters: { query?: never; header?: never; path: { playlistId: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description No Content */ 204: { headers: { [name: string]: unknown; }; content?: never; }; /** @description Unauthorized */ 401: { headers: { [name: string]: unknown; }; content?: never; }; /** @description Not Found */ 404: { headers: { [name: string]: unknown; }; content?: never; }; }; }; RequestPlayListPictureUpload: { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; requestBody: { content: { "application/json": components["schemas"]["RequestPlayListPictureUploadRequest"]; }; }; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["PlayListPictureUploadResponse"]; }; }; /** @description Bad Request */ 400: { headers: { [name: string]: unknown; }; content: { "application/problem+json": components["schemas"]["HttpValidationProblemDetails"]; }; }; /** @description Unauthorized */ 401: { headers: { [name: string]: unknown; }; content?: never; }; /** @description Not Found */ 404: { headers: { [name: string]: unknown; }; content?: never; }; }; }; AddTrackToPlayList: { parameters: { query?: never; header?: never; path: { playlistId: string; trackId: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description No Content */ 204: { headers: { [name: string]: unknown; }; content?: never; }; /** @description Unauthorized */ 401: { headers: { [name: string]: unknown; }; content?: never; }; /** @description Not Found */ 404: { headers: { [name: string]: unknown; }; content?: never; }; /** @description Conflict */ 409: { headers: { [name: string]: unknown; }; content?: never; }; }; }; RemoveTrackFromPlayList: { parameters: { query?: never; header?: never; path: { playlistId: string; trackId: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description No Content */ 204: { headers: { [name: string]: unknown; }; content?: never; }; /** @description Unauthorized */ 401: { headers: { [name: string]: unknown; }; content?: never; }; /** @description Not Found */ 404: { headers: { [name: string]: unknown; }; content?: never; }; }; }; AddYouTubeTrackToPlayList: { parameters: { query?: never; header?: never; path: { playlistId: string; }; cookie?: never; }; requestBody: { content: { "application/json": components["schemas"]["AddYouTubeTrackRequest"]; }; }; responses: { /** @description Created */ 201: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["TrackApplicationResponse"]; }; }; /** @description Bad Request */ 400: { headers: { [name: string]: unknown; }; content: { "application/problem+json": components["schemas"]["HttpValidationProblemDetails"]; }; }; /** @description Unauthorized */ 401: { headers: { [name: string]: unknown; }; content?: never; }; /** @description Not Found */ 404: { headers: { [name: string]: unknown; }; content?: never; }; /** @description Conflict */ 409: { headers: { [name: string]: unknown; }; content?: never; }; }; }; GetTracks: { parameters: { query?: { name?: string; pageNumber?: number | string; pageSize?: number | string; }; header?: never; path?: never; cookie?: never; }; requestBody?: never; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["PaginatedResponseOfTrackApplicationResponse"]; }; }; }; }; CreateTrack: { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; requestBody: { content: { "application/json": components["schemas"]["CreateTrackRequest"]; }; }; responses: { /** @description Created */ 201: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["TrackApplicationResponse"]; }; }; /** @description Bad Request */ 400: { headers: { [name: string]: unknown; }; content: { "application/problem+json": components["schemas"]["HttpValidationProblemDetails"]; }; }; /** @description Unauthorized */ 401: { headers: { [name: string]: unknown; }; content?: never; }; /** @description Not Found */ 404: { headers: { [name: string]: unknown; }; content?: never; }; /** @description Conflict */ 409: { headers: { [name: string]: unknown; }; content?: never; }; }; }; GetTrackById: { parameters: { query?: never; header?: never; path: { id: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["TrackApplicationResponse"]; }; }; /** @description Not Found */ 404: { headers: { [name: string]: unknown; }; content?: never; }; }; }; GetTrackCover: { parameters: { query?: { size?: string; }; header?: never; path: { id: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content?: never; }; /** @description Not Found */ 404: { headers: { [name: string]: unknown; }; content?: never; }; }; }; GetTrackStream: { parameters: { query?: never; header?: never; path: { id: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["TrackStreamResponse"]; }; }; /** @description Unauthorized */ 401: { headers: { [name: string]: unknown; }; content?: never; }; /** @description Not Found */ 404: { headers: { [name: string]: unknown; }; content?: never; }; }; }; GetTracksByUserId: { parameters: { query?: { name?: string; pageNumber?: number | string; pageSize?: number | string; }; header?: never; path: { userId: number | string; }; cookie?: never; }; requestBody?: never; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["PaginatedResponseOfTrackApplicationResponse"]; }; }; }; }; DeleteTrack: { parameters: { query?: never; header?: never; path: { trackId: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description No Content */ 204: { headers: { [name: string]: unknown; }; content?: never; }; /** @description Unauthorized */ 401: { headers: { [name: string]: unknown; }; content?: never; }; /** @description Not Found */ 404: { headers: { [name: string]: unknown; }; content?: never; }; /** @description Conflict */ 409: { headers: { [name: string]: unknown; }; content?: never; }; }; }; RequestTrackUploadUrls: { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; requestBody: { content: { "application/json": components["schemas"]["RequestTrackUploadUrlsRequest"]; }; }; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["TrackUploadUrlsResponse"]; }; }; /** @description Bad Request */ 400: { headers: { [name: string]: unknown; }; content: { "application/problem+json": components["schemas"]["HttpValidationProblemDetails"]; }; }; /** @description Unauthorized */ 401: { headers: { [name: string]: unknown; }; content?: never; }; /** @description Not Found */ 404: { headers: { [name: string]: unknown; }; content?: never; }; /** @description Conflict */ 409: { headers: { [name: string]: unknown; }; content?: never; }; }; }; GetUsers: { parameters: { query?: { usernameSearch?: string; pageNumber?: number | string; pageSize?: number | string; }; header?: never; path?: never; cookie?: never; }; requestBody?: never; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["PaginatedResponseOfUserApplicationResponse"]; }; }; }; }; CreateUser: { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; requestBody: { content: { "application/json": components["schemas"]["CreateUserRequest"]; }; }; responses: { /** @description Created */ 201: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["UserApplicationResponse"]; }; }; /** @description Bad Request */ 400: { headers: { [name: string]: unknown; }; content: { "application/problem+json": components["schemas"]["HttpValidationProblemDetails"]; }; }; /** @description Conflict */ 409: { headers: { [name: string]: unknown; }; content?: never; }; }; }; GetUserById: { parameters: { query?: never; header?: never; path: { id: number | string; }; cookie?: never; }; requestBody?: never; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["UserApplicationResponse"]; }; }; /** @description Not Found */ 404: { headers: { [name: string]: unknown; }; content?: never; }; }; }; GetListeningHistory: { parameters: { query?: never; header?: never; path: { id: number | string; }; cookie?: never; }; requestBody?: never; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["TrackApplicationResponse"][]; }; }; /** @description Not Found */ 404: { headers: { [name: string]: unknown; }; content?: never; }; }; }; SearchYouTubeTracks: { parameters: { query: { query: string; continuation?: string; }; header?: never; path?: never; cookie?: never; }; requestBody?: never; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["YouTubeSearchResult"]; }; }; /** @description Bad Request */ 400: { headers: { [name: string]: unknown; }; content: { "application/problem+json": components["schemas"]["HttpValidationProblemDetails"]; }; }; /** @description Unauthorized */ 401: { headers: { [name: string]: unknown; }; content?: never; }; }; }; GetYouTubeTrackStream: { parameters: { query?: never; header?: never; path: { videoId: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["YouTubeStreamResponse"]; }; }; /** @description Unauthorized */ 401: { headers: { [name: string]: unknown; }; content?: never; }; /** @description Not Found */ 404: { headers: { [name: string]: unknown; }; content?: never; }; }; }; }